Foros del Web » Programación para mayores de 30 ;) » .NET »

Arrastar y soltar elementos de un TreeView

Estas en el tema de Arrastar y soltar elementos de un TreeView en el foro de .NET en Foros del Web. Buenos dias compañeros mi inquietud es la siguiente: estoy utilizando una función recursiva para llenar mi control TreeView a partir de unos datos de mis ...
  #1 (permalink)  
Antiguo 23/12/2008, 06:46
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Arrastar y soltar elementos de un TreeView

Buenos dias compañeros mi inquietud es la siguiente: estoy utilizando una función recursiva para llenar mi control TreeView a partir de unos datos de mis tablas de esta manera:
Código:
 Public Function Cargar_Nodos(ByVal nodo As TreeNode, ByVal criterio As String) As Boolean
        Consulta = "SELECT PARPRT_02, COMPRT_02, PMDES1_01, LLC_01 FROM Product_Structure AS s INNER JOIN Part_Master as p ON s.COMPRT_02 = p.PRTNUM_01 WHERE PARPRT_02 = '" & Trim(criterio) & "' ORDER BY COMPRT_02 DESC"
        Adaptador = New Odbc.OdbcDataAdapter(Consulta, Conexion)
        Sdataset = New DataSet
        Try
            Adaptador.Fill(Sdataset, "Product_Structure")
        Catch ex As Exception
            MessageBox.Show("Se ha producido un error llenar el Dataset:" & vbCrLf & ex.Message)
        End Try
        'VERIFICAR EL NÚMERO DE FILAS QUE DEVUELVE LA CONSULTA
        If Sdataset.Tables(0).Rows.Count = 0 Then
            Return False
        Else
            Try
                Sdatatable = Sdataset.Tables("Product_Structure")
            Catch ex As Exception
                MessageBox.Show("Se ha producido un error llenar el Datatable:" & vbCrLf & ex.Message)
            End Try
            'CREACIÓN DEL NODO
            Dim Hnodo As TreeNode
            Dim RegistroL As DataRow
            'LEER EL DATAROW DE LOS REGISTROS
            For Each RegistroL In Sdatatable.Rows
                Hnodo = nodo.Nodes.Add(Trim(RegistroL("COMPRT_02")), Trim(RegistroL("PMDES1_01")), 2, 1)
                Hnodo.Tag = Trim(RegistroL("COMPRT_02"))
                Hnodo.ExpandAll()
                'LLAMAR A LA FUNCIÓN RECURSIVA
                Cargar_Nodos(Hnodo, RegistroL("COMPRT_02"))
            Next
            Return True
        End If
    End Function
Hasta hay no tengo ningún problema todo funciona bien, mi pregunta es: si se dan cuenta en la propiedad Tag del Control Hnodo.Tag = Trim(RegistroL("COMPRT_02")), estoy agregando un código que quisiera que al momento de seleccionar y arrastrar, cualquiera de mis nodos, hacia un cuadro de texto me apareciera dicho código en el mismo.

Agradesco sus respuestas y comentarios al respecto.


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #2 (permalink)  
Antiguo 23/12/2008, 10:34
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Arrastar y soltar elementos de un TreeView

Alguna idea compañeros?



Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 29/12/2008, 07:24
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Arrastar y soltar elementos de un TreeView

Bueno ya consigo arrastrar el elemento a un textbox, ahora lo que necesito es poder arrastrarlo a la celda de un DataGridView, como podría hacerlo
Para arrastrar hacia el textbox hago esto en el evento MouseDown de mi TreeView que se llama estructura ubico este código
Dim dropEffect As DragDropEffects = Me.estructura.DoDragDrop(Me.estructura.SelectedNod e.Tag.ToString, DragDropEffects.Copy)

y en el evento DragDrop del textbox ubico este código:
Me.bcparte.Text = e.Data.GetData(DataFormats.Text).ToString()

Esto funciona bien, pero estoy intentando hacre el mismo proceso con el DataGridView y no me arrastra el elemento del TreeView, como sería la forma de hacerlo?

Agradesco sus comentarios al respecto.




Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.