none
DragDrop entre dos datagridview RRS feed

  • Pregunta

  • Hola Amigos.
    Lo que quiero hacer es lo siguente. 
    Tengo dos datagridview y quiero que arrastrando pase registros de uno a otro y al  reves.
    O sea de datagrid1 a datagrid 2 y de datagrid 2 a datagrid 1.
    Pues bien de datagrid 1 a datagrid 2 lo hace sin ningun problema, el problema viene cuando desde el datagrid 2 quiero pasar a datafrid 1, tengo exactamente el mismo codigo y no fucniona ademas, quiero saber de donde viene el dragdrop cual es su origen, porque si empieza a arrastrar en el datagrid 1 y lo suelta tambien en datagrid1 no quiero que haga nada. 

    O sea algo como esto

    Private Sub Datagrid2_DragDrop(system ...................)
    If dragdrop.origen= datagrid1 then
     copia_elemento
    else
    msgbox("El origen y el destino son los mismo")
    end if
    end sub 

    Pero con el código adecuado claro. ;)

    ¿Sabes como se puede hacer?

    Espero haberme explicado bien. Muchas gracias de antemano y saludos a todos.

    viernes, 4 de diciembre de 2009 9:55

Respuestas

  • Hola Radi,

    para ver el origen en el evento DragDrop, puedes utilizar el parametro sender (Private Sub Datagrid2_DragDrop(Sender as Object, e as DragEventArgs)

    deberías comprobarlo tal que así:

    if(Sender.equals(Datagrid2))then

        msgbox("El origen y el destino son los mismos")

    end if

    Aunque más que en el evento DragDrop, yo haría la comprobación en el evento DragEnter del objeto Datagrid2 que tienes.

    Sobre la primera pregunta, yo comprobaría que el Datagrid2 tiene su propiedad AllowDrop a true. Seguro que hay alguna diferencia en las propiedades de los dos datagridviews, ya que si el código aseguras que es el mismo, debería funcionar igual.


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    • Marcado como respuesta Radi_shishi viernes, 4 de diciembre de 2009 10:19
    viernes, 4 de diciembre de 2009 10:18

Todas las respuestas

  • Hola Radi,

    para ver el origen en el evento DragDrop, puedes utilizar el parametro sender (Private Sub Datagrid2_DragDrop(Sender as Object, e as DragEventArgs)

    deberías comprobarlo tal que así:

    if(Sender.equals(Datagrid2))then

        msgbox("El origen y el destino son los mismos")

    end if

    Aunque más que en el evento DragDrop, yo haría la comprobación en el evento DragEnter del objeto Datagrid2 que tienes.

    Sobre la primera pregunta, yo comprobaría que el Datagrid2 tiene su propiedad AllowDrop a true. Seguro que hay alguna diferencia en las propiedades de los dos datagridviews, ya que si el código aseguras que es el mismo, debería funcionar igual.


    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    • Marcado como respuesta Radi_shishi viernes, 4 de diciembre de 2009 10:19
    viernes, 4 de diciembre de 2009 10:18
  • Muchas gracias Javier, voy a probar a ver que sale. ;) Y lo comento aquí.
    viernes, 4 de diciembre de 2009 10:20
  • A alguien le ha quedado ya un ejemplo de Arrastrar y soltar entre dos DataGridView?????

    yo estoy con disponibilidad de poner mi granito de arena, hay algunos eventos del DGV que me falta por comprender y no he podido generar un ejemplo, es para optimizar mi sistema.. gracias!

    lunes, 9 de abril de 2012 23:40