- Creare una nuova SmartWindow.
- Selezionare dalla Palette OCX Control.
- Scegliere Microsoft TreeView Control 6.0
Nel nostro esempio popoleremo il tv partendo dalla tabella sports2000.customer
- Create un override procedure initializeObject e copiate il codice seguente :
/*------------------------------------------------------------------------------
Purpose: Super Override
Parameters:
Notes:
------------------------------------------------------------------------------*/
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE iNode AS INTEGER NO-UNDO.
/* Code placed here will execute PRIOR to standard behavior. */
RUN SUPER.
/* Code placed here will execute AFTER standard behavior. */
chCtrlFrame:TreeView:Nodes:Add(,,"root" ,"root"). /* Crea tag root */
FOR EACH customer NO-LOCK
WHERE custnum < 10: /* Naviga temp-table */
chCtrlFrame:TreeView:Nodes:Add("root", 4, "k" + string(custnum),NAME).
/* Crea tag figlio di Root */
chCtrlFrame:TreeView:Nodes:Add("k" + string(custnum), 4, "ka" + string(custnum),address + " - " + city + " - " + State).
/* Crea tag figlio del precedente */
chCtrlFrame:TreeView:Nodes:Add("ka" + string(custnum), 4, "kab" + string(custnum),"Balance: " + STRING(Balance) +
" - Credit Limit : " + STRING(creditlimit) +
" - Discount : " + STRING(Discount) +
" ** Comments : " + Comments
).
END.
/* Naviga l'xml in cerca di nodi padri da espandere */
DO i = 1 TO chCtrlFrame:TreeView:nodes:COUNT:
iNode = chCtrlFrame:TreeView:nodes(i):children.
IF iNode > 0 THEN /* Se non ha figli espande nodo */
chCtrlFrame:TreeView:nodes(i):expanded = TRUE.
END.
Purpose: Super Override
Parameters:
Notes:
------------------------------------------------------------------------------*/
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE iNode AS INTEGER NO-UNDO.
/* Code placed here will execute PRIOR to standard behavior. */
RUN SUPER.
/* Code placed here will execute AFTER standard behavior. */
chCtrlFrame:TreeView:Nodes:Add(,,"root" ,"root"). /* Crea tag root */
FOR EACH customer NO-LOCK
WHERE custnum < 10: /* Naviga temp-table */
chCtrlFrame:TreeView:Nodes:Add("root", 4, "k" + string(custnum),NAME).
/* Crea tag figlio di Root */
chCtrlFrame:TreeView:Nodes:Add("k" + string(custnum), 4, "ka" + string(custnum),address + " - " + city + " - " + State).
/* Crea tag figlio del precedente */
chCtrlFrame:TreeView:Nodes:Add("ka" + string(custnum), 4, "kab" + string(custnum),"Balance: " + STRING(Balance) +
" - Credit Limit : " + STRING(creditlimit) +
" - Discount : " + STRING(Discount) +
" ** Comments : " + Comments
).
END.
/* Naviga l'xml in cerca di nodi padri da espandere */
DO i = 1 TO chCtrlFrame:TreeView:nodes:COUNT:
iNode = chCtrlFrame:TreeView:nodes(i):children.
IF iNode > 0 THEN /* Se non ha figli espande nodo */
chCtrlFrame:TreeView:nodes(i):expanded = TRUE.
END.
END PROCEDURE.
0 commenti:
Posta un commento