ASP.NET - PRESENTAR NODOS PRINCIPALES EN UN TREEVIEW

 
Vista:
sin imagen de perfil

PRESENTAR NODOS PRINCIPALES EN UN TREEVIEW

Publicado por Edgar (26 intervenciones) el 18/02/2008 23:33:04
Estimados amigos del Foro, desde ya muchas gracias por su valiosa ayuda, tengo una consulta que realizarles.....
PREGUNTA.- Tengo un Treeview que trae datos de una tabla utilizando un dataset de forma recursica..... Bien el treeview al buscar la empresa se presenta en la pantalla pero como es un plan de cuentas contables no alcanza la pantalla si solo se presentan de la siguinete forma:
1.
1.1.
1.1.1.
1.1.1.01.
1.1.1.01.01.
1.1.1.01.01.001
1.1.1.01.01.002
1.1.1.01.01.003
1.1.1.01.01.004
1.1.1.01.01.005
1.1.1.01.01.006
1.1.1.01.01.007
1.1.1.01.01.008
1.1.1.01.01.009
1.1.1.01.02.
1.1.1.01.02.001
1.1.1.01.02.002
1.1.1.01.02.003
1.1.1.01.02.004
1.1.1.01.02.005
1.1.1.01.02.006
1.1.1.01.02.007
1.1.1.02.
1.1.1.02.01.
1.1.1.02.01.001
1.1.1.02.01.002
1.1.1.02.01.003
1.1.1.02.01.004
1.1.2.
1.1.2.01.
1.1.2.01.01.
1.1.2.01.01.001
1.1.2.01.01.003
1.1.2.01.01.004
1.1.2.01.01.005
1.1.2.01.01.009
1.1.2.01.02.

Nunca llega a presentarse todo el plan de cuentas..... mi consulta es como hago para que solo aparescan los nodos principales, es decir solo los nodos padres de esta manera
+1.
+2.
+3.
+4.
+5.
+6.
+7.
+8.

Para cuando de clcik en el + se abran los subnodos que contiene cada cuenta y asi estos contendran otras subcuentas
la programacion del treeview es la siguiente
Protected Sub fnCargarTreeView()
Dim obj As New Contabilidad.Negocio.Contabilidad.Negocio.ClsPlanNegocio()
dataSetPlan = obj.fnDatosNodo(idEmpresa)
trvPlan.Nodes.Clear()
CrearNodosDelPadre(0, Nothing)
trvPlan.ExpandAll()

End Sub
Private Sub CrearNodosDelPadre(ByVal indicePadre As String, ByVal nodePadre As TreeNode)
Dim dataViewHijos As DataView
' Crear un DataView con los Nodos que dependen del Nodo padre pasado como parámetro.
dataViewHijos = New DataView(dataSetPlan.Tables(0))
dataViewHijos.RowFilter = dataSetPlan.Tables(0).Columns("PLANCUENTA_MAYORIZA").ColumnName & " = '" & indicePadre.ToString & "'"
' Agregar al TreeView los nodos Hijos que se han obtenido en el DataView.
For Each dataRowCurrent As DataRowView In dataViewHijos
Dim nuevoNodo As New TreeNode
nuevoNodo.Text = dataRowCurrent("PLANCUENTA_NUMERO").ToString().Trim()
'nuevoNodo.ToolTip = dataRowCurrent("PLANCUENTA_NUMERO").ToString().Trim()
'nuevoNodo.Value = dataRowCurrent("PLANCUENTA_ID").ToString().Trim()
' si el parámetro nodoPadre es nulo es porque es la primera llamada, son los Nodos del primer nivel que no dependen de otro nodo.
If nodePadre Is Nothing Then
trvPlan.Nodes.Add(nuevoNodo)
Else
' se añade el nuevo nodo al nodo padre.
nodePadre.ChildNodes.Add(nuevoNodo)
End If
' Llamada recurrente al mismo método para agregar los Hijos del Nodo recién agregado.
'CrearNodosDelPadre(Int16.Parse(dataRowCurrent("PLANCUENTA_ID").ToString()), nuevoNodo)
CrearNodosDelPadre(dataRowCurrent("PLANCUENTA_NUMERO").ToString(), nuevoNodo)

Next
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PRESENTAR NODOS PRINCIPALES EN UN TREEVIEW

Publicado por Javier Santamaria (312 intervenciones) el 19/02/2008 12:42:24
Hola,

no he trabajado mucho con treeviews, pero supongo que tendra alguna porpiedad para poder expandir y contraer nodos.

Echa un vistazo a este link de la msdn (supongo que aqui vendra algo)

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vwdcon/html/a8231d4b-1afb-4069-9124-65f112ea406e.htm

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 56
Bronce
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

RE:PRESENTAR NODOS PRINCIPALES EN UN TREEVIEW

Publicado por Yamil Bracho (1136 intervenciones) el 20/02/2008 23:39:21
Estas haciendo trvPlan.ExpandAll() despues de llenar el TreeView y esta sentencia lo que hace es expandir todos los nodos
Creo que si la quitas o comentarizas hace lo que quieres hacer...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar