hola a todos, he creado una clase clsnodo heredada de treenode a la que le
añado una propiedad datarow para enlazar los nodos de un arbol con las filas
de una tabla.
el problema lo tengo que al montar el arbol hago una funcion recursiva donde
busco el nodo y mientras no encuentre llamo a la funcion para buscar en los
hijos del nodo que estoy buscando. Es algo asi:
Funcion Buscarnodo arbol(ID_ORIGEN, arbol a buscar){
If not(ID_ORIGEN=arbolabuscar.datarow.item(ID_FILA)) then
For Each NodoAuxRecorreArbol In Nodo_inicial.Nodes
If NodoAuxRecorreArbol.drT_DEP.Item("ID_FILA") = ID_Origen Then
'Encontrado el nodo
Return (NodoAuxRecorreArbol)
Else
'recorro los nodos de este nodo
For Each NodoAuxRecorrehijos In NodoAuxRecorreArbol.Nodes
Dim NODE As clsNodoDataRow
NODE = BuscarNodoArbol(ID_Origen,
NodoAuxRecorrehijos)
If Not (NODE Is Nothing) Then
Return (NODE)
Exit For
Else
'Return (Nothing)
End If
Next
End If
Next
Else
'Es el que busco.
Return(arbol_nodo_buscar)
}
El problema es que en la llamada recursiva paso en NodoAuxRecorrehijos de
tipo node y no de mi tipo clsnodo por lo que luego no puedo accer a la
propiedad datarow de la clase clsnodo. ¿Como puedo hacer que el bucle for
haga en el IN arbol.nodes y que ese nodes me devuelva objetos del tipo
clsnodo?
Muchas gracias por cualquier ayuda
Fadoyo
Leer las respuestas