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

Se repite Nodo en TreeView

Estas en el tema de Se repite Nodo en TreeView en el foro de .NET en Foros del Web. Estimados: Estoy trabajando en vb.net con sqlServer 2000 y cargo el treeView con este codigo sin ningun problema, Lo que pasa es que cuando lo ...
  #1 (permalink)  
Antiguo 16/11/2009, 08:04
 
Fecha de Ingreso: octubre-2009
Mensajes: 63
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Se repite Nodo en TreeView

Estimados:
Estoy trabajando en vb.net con sqlServer 2000 y cargo el treeView con este codigo sin ningun problema, Lo que pasa es que cuando lo cargo
se repite el nodo padre,

Ejemplo:
En mi base de datos tengo un menu que tiene 2 formularios asociados,
deberia mostrarme
.............MENU
.................formulario 1
.................formulartio2

y me muestra

.............MENU
.................formulario 1
.................formulartio2
.............MENU
.................formulario 1
.................formulartio2


este es el codigo de mi TreeView,
COMO LO HAGO PARA QUE NO SE REPITA EL NODO???????????

'CARGANDO EL TREEVIEW CON EL INICIO DEL FORMULARIO

' crear conexión
Dim cadena As String
cadena = "Data Source = BRAVO; Initial Catalog = dbmultiusuario; Integrated Security=SSPI; Trusted_Connection=false; user id = glopez ; Password = lopez"
Dim cnn As New SqlConnection(cadena)
Dim variable As String
variable = Me.TVFormulario.Text

' crear los DataAdapter
Dim oDAMenu As New SqlDataAdapter("select m.idmenu, f.codigo_form FROM FORMULARIO f, SISTEMA s, MENU m WHERE (s.idsistema = f.idsistema) and (m.idsistema = s.idsistema) and f.idsistema = '" & Me.TxtCodigoSistemaFormulario.Text & "'", cnn)

' crear conjunto de datos
Dim oDataSet As New DataSet

' utilizar los adaptadores para llenar el dataset con las tabla
oDAMenu.Fill(oDataSet, "MENU")
'oDAFormulario.Fill(oDataSet, "FORMULARIOS")

' defino variables del tipo DataTable
Dim oTablaMenu As New DataTable
'Dim oTablaFormulario As DataTable

' asigno a las variables los datos de las tablas del DataSet
oTablaMenu = oDataSet.Tables(0)
'oTablaFormulario = oDataSet.Tables("FORMULARIOS")

Dim oVista As DataView

' lleno la vista con el contenido de la Tabla MENU
'oVista = oDataSet.Tables("MENU").DefaultView
oVista = oTablaMenu.DefaultView

' deshabilita la actualización en pantalla del control TreeView
TVFormulario.BeginUpdate()

' defino variable del tipo DataRow
'Dim Registro As DataRow

'Declarando el Nodo
Dim nodo As New TreeNode

' creo un nodo raiz (el nombre Country, puede ser cualquier texto como Raíz, Root, etc.)
nodo = TVFormulario.Nodes.Add("Sistema")

'For Each Registro In oTablaMenu.Rows
For Each Registro As DataRow In oTablaMenu.Rows
' agrego el nodo en el segundo nivel
nodo = TVFormulario.Nodes(0).Nodes.Add(Registro("IDMENU") .Trim())
' si no hay un nodo raiz, se usaría la siguiente línea
'nodo = TVFormulario.Nodes.Add(Trim(Registro("CARGA")))

' realizo un filtro dentro de la vista
oVista.RowFilter = "IDMENU = '" & Registro("IDMENU") + "'"

' ciclo para recorrer la vista previamente filtrada
Dim a As Integer
For a = 0 To oVista.Count - 1
' agrego el nodo en el tercer nivel
nodo.Nodes.Add(Trim(oVista.Item(a).Row("CODIGO_FOR M")))

Next
'Para que no se Repita los Nodos Pricipales

' expando todos los nodos de árbol secundario
nodo.ExpandAll()
Next
' habilita la actualización en pantalla del control TreeView
TVFormulario.EndUpdate()

' modifico la propiedad AllowDrop a True para poder realizar Drag and Drop
TVFormulario.AllowDrop = True

' modifico la propiedad Sorted a True para que los nodos estén ordenados
TVFormulario.Sorted = True


SALUDOS
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 11:05.