 
			
				09/02/2009, 04:27
			
			
			     |  
      |    |    |    Fecha de Ingreso: enero-2009  
						Mensajes: 15
					  Antigüedad: 16 años, 9 meses Puntos: 0     |        |  
  |      Respuesta: Ayuda con folderview !!!!!!!!        muy buenas mira aqui te dejo mi codigo aver si me puedes exar una mano   
como te dije dispongo de un folderview y un listbox   
el codigo es el siguiente:   
' El nombre del FolderView es FolderView1 
' El nombre del ListBox es ListRutas 
' La propiedad AutoCheckedChildren esta a true   
' Al selecionar/deselecionar algun checkbox 
Private Sub FolderView1_NodeChecking(ByVal Node As FolderViewControl.ITreeNode, Cancel As Boolean)   
    ' Variable que va a guardar el lugar que 
    ' ocupa la ruta en el listbox 
    Dim NumList As Double 
    NumList = 0   
    ' Si marcamos el checkbox, añadirá la ruta al ListBox 
    If Node.Checked = False Then 
        ListRutas.AddItem (Node.Path) 
    ' sino.... 
    Else 
        ' Cuando deseleccionas un checkbox... 
        If Node.Checked = True Then 
            ' Si el nodo tiene hijos.. 
            If (Node.Children <> 0) Then 
                ' Recorremos el ListBox en busca de la ruta 
                ' para eliminarla 
                For NumList = 0 To ListRutas.ListCount 
                    ' Si la ruta del nodo es igual a 
                    ' alguna ruta del listbox.... 
                    If Node.Path = ListRutas.List(NumList) Then 
                        ' La eliminamos del listbox 
                         ListRutas.RemoveItem (NumList) 
                    End If 
                Next   
            ' si no tiene hijos.... 
            Else 
                ' Recorremos el ListBox en busca de la ruta 
                ' para eliminarla 
                For NumList = 0 To ListRutas.ListCount 
                    ' Variable que guardará la ruta del padre 
                    ' del nodo seleccionado 
                    Dim var As String 
                    var = (Left(Node.Path, ((Len(Node.Path)) - (Len(Node.DisplayName) + 1)))) 
                    ' Si la ruta del padre 
                    ' esta en el listbox.... 
                    If ListRutas.List(NumList) = var Then 
                        ' La eliminamos 
                        ListRutas.RemoveItem (NumList) 
                        ' aqui quiero añadir la ruta de los hijos 
                        ' que sigen selecionados y que el padre quede 
                        ' deselecionado. 
                    ' Si esta la ruta deschekeada.. la borramos 
                    Else 
                        If ListRutas.List(NumList) = Node.Path Then 
                            ListRutas.RemoveItem (NumList) 
                        End If 
                    End If 
                Next 
            End If 
        End If 
    End If 
End Sub       
* al seleccionar un padre, sus hijos se autoseleccionan y en el listbox solo aparece la ruta del padre, ya que dentro de este estan todas las carpetas seleccionadas 
* si deseleciono un hijo, el padre debe deseleccionarse y borrarse  su ruta del listbox y deben aparecer las rutas de todos los hijos que han quedado seleccionados.     
spero que me puedas ayudar 
un saludo y muxisisisisismas gracias           |