Estoy haciendo esta prueba pero no me refresca el TREE, es solo una prueba. pueden decirme que tengo mal?
Code: Select all
#include "fivewin.ch"
#include "debug.ch"
#include "tdolphin.ch"
CLASS TArbol
DATA oTree
DATA oCnx
METHOD new() CONSTRUCTOR
METHOD arbol()
METHOD inicializar()
METHOD recursivo()
END CLASS
//------------------------------------------------------------------------------
METHOD new( oCnx )
::oCnx := oCnx
RETURN ( Self )
//------------------------------------------------------------------------------
METHOD arbol()
LOCAL oDlg, oTree
LOCAL oBtns := Array( 2 )
LOCAL this := Self
DEFINE DIALOG oDlg resource "DLGARBOL" TITLE "TreeView from source"
::oTree = TTreeView():REDEFINE( 101, oDlg, CLR_BLACK, CLR_WHITE, .F., 'Dante causa' )
// ::oTree:bRClicked := { | nRow, nCol, nKeyFlags | ::ShowPopup( nRow, nCol, nKeyFlags ) }
ACTIVATE DIALOG oDlg ;
ON INIT this:inicializar()
RETURN ( NIL )
//------------------------------------------------------------------------------
METHOD inicializar()
::oTree := ::recursivo()
RETURN ( NIL )
//------------------------------------------------------------------------------
METHOD recursivo( oParentItem )
LOCAL oTree, oItem
LOCAL nParent := 0
LOCAL oQry
IF ( oParentItem != NIL )
// pòr el momneto nada
ENDIF
DEFINE QUERY oQry "SELECT * FROM t_menu WHERE IFNULL(parent_menu_id, 0)= " + ClipValue2SQL( nParent )
IF ( oQry:nRecCount() != 0 )
// me asegure que tenga datos y hay.
TREE oTree
TREEITEM oItem prompt oQry:FieldGet( "menu_name" )
ENDTREE
ENDIF
RETURN ( oTree )
//------------------------------------------------------------------------------
Gracias.