Treegadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Cagou77
Messages : 18
Inscription : mer. 17/févr./2010 7:19
Localisation : Betheny, Reims

Treegadget

Message par Cagou77 »

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.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Treegadget

Message par falsam »

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
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%
Cagou77
Messages : 18
Inscription : mer. 17/févr./2010 7:19
Localisation : Betheny, Reims

Re: Treegadget

Message par Cagou77 »

Bonjour, ce que je veux c'est déplier et replier le treegadget sur choix d'un popupmenu ou d'un buttongadget.
zaphod
Messages : 135
Inscription : dim. 07/déc./2008 9:32

Re: Treegadget

Message par zaphod »

...
Dernière modification par zaphod le dim. 27/mai/2012 7:36, modifié 1 fois.
Cagou77
Messages : 18
Inscription : mer. 17/févr./2010 7:19
Localisation : Betheny, Reims

Re: Treegadget

Message par Cagou77 »

Parfait, Merci
Répondre