Bonsoir, voilà j'arrive a déplier un treegadget
mais je n'arrive pas a replier un treegadget qui est déplier.
merci d'avance pour vos réponses.
Ps: je cherche à charger un treegadget depuis une table d'une base de données sqlite
si vous avez des suggestions elles seront les bien venus.
Treegadget
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Treegadget
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.
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.
GetDatabaseString(#Database, 0) "0" représente la première colonne du résultat de requête Sql
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
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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Treegadget
Bonjour, ce que je veux c'est déplier et replier le treegadget sur choix d'un popupmenu ou d'un buttongadget.
Re: Treegadget
Parfait, Merci