Bonjour:)
Dans l'exemple classique d'un TreeGadget que tu trouveras ci-dessous, si tu cliques sur le Noeud du TreeGadget, celui-çi va se déplier et si tu cliques à nouveau sur ce même noeud, il va se replier.
Code : Tout sélectionner
Enumeration
#MainForm
#TGadget
EndEnumeration
Procedure MainFormShow()
OpenWindow(#MainForm,0,0,400,300,"Tree Gadget Exemple 1",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
TreeGadget(#TGadget,10,10,380,280)
EndProcedure
Procedure TgadgetLoad()
AddGadgetItem (#TGadget, -1, "Noeud ", 0, 0)
AddGadgetItem (#TGadget, -1, "Sous-élément 1", 0, 1)
AddGadgetItem (#TGadget, -1, "Sous-élément 2", 0, 1)
AddGadgetItem (#TGadget, -1, "Sous-élément 3", 0, 1)
AddGadgetItem (#TGadget, -1, "Sous-élément 4", 0, 1)
AddGadgetItem (#TGadget, -1, "Sous-élément 5", 0, 1)
AddGadgetItem (#TGadget, -1, "Sous-élément 6", 0, 1)
EndProcedure
MainFormShow()
TgadgetLoad()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Pour remplir ton Treegadget avec une base de données Sqlite tu ouvres ta base de données, tu effectues ta requête de sélection et enfin tu intègres une boucle de lecture séquentiel du résultat obtenu par ta requête.
Tu trouveras ci-dessous la procédure TgadgetLoad() à intégrer dans le code ci-dessus.
J'ouvre une base de données contacts dans lequel se trouve une table adresses.
Code : Tout sélectionner
;Ouverture de la base de données "Contact"
Procedure TgadgetLoad()
If OpenDatabase(#Database, GetCurrentDirectory()+"/contact.db3", "", "", #PB_Database_SQLite)
;Exécution de la requête de selection
If DatabaseQuery(#Database, "select * from adresses order by nom asc")
;Ici j’insère un noeud de pliage/dépliage
AddGadgetItem (#TGadget, -1, "Contact", 0, 0)
While NextDatabaseRow(#Database)
AddGadgetItem (#TGadget, -1, GetDatabaseString(#Database, 0), 0, 1)
Wend
FinishDatabaseQuery(#Database)
Else
MessageRequester("Erreur", "Impossible d'executer la requete: "+DatabaseError())
EndIf
EndIf
GetDatabaseString(#Database, 0) "0" représente la première colonne du résultat de requête Sql