Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 22 Aprile 2013, 17:04:41

Titolo: [RISOLTO] treeview (come risalire l'albero?)
Inserito da: allegfede - 22 Aprile 2013, 17:04:41
con treeview.current.parentkey ottengo la chiave del padre del nodo selezionato

ma per ottenere il testo?

treeview.current.parent.text non esiste ....

come faccio?

per definire un oggetto nodo ed assegnarlo ad padre del corrente?
Titolo: Re: treeview (come risalire l'albero?)
Inserito da: md9327 - 22 Aprile 2013, 18:17:39
La TreeView è come una Collection.
Per leggere l'item. devi indirizzarlo tramite la sua chiave.
Titolo: Re: treeview (come risalire l'albero?)
Inserito da: allegfede - 22 Aprile 2013, 23:05:09
Tipo treeview(chiave).text ?
Titolo: Re: treeview (come risalire l'albero?)
Inserito da: Golia - 23 Aprile 2013, 11:34:52
io la uso così,
ti incollo un mio pezzo di codice

per caricare la TreeView
Codice: gambas [Seleziona]

      For N1 = 0 To MyRS1.Max
      chiave1 = "a" & N1
      TreeView1.Add(chiave1, MyRS1!primocodice)
      TreeView1[chiave1].Picture = Picture["icon/folder1.png"]     
              sql2 = "select secondocodice from generico"
              sql2 = sql2 & " WHERE primocodice = '" & MyRS1!primocodice & "'"
              sql2 = sql2 & " GROUP BY secondocodice"
              sql2 = sql2 & " ORDER BY secondocodice"
              MyRS2 = avvio.$myconn.Exec(sql2)
              If MyRS2.Available = True Then
                  For N2 = 0 To MyRS2.Max
                  chiave2 = chiave1 & "b" & N2       
                  TreeView1.Add(chiave2, MyRS2!secondocodice,, chiave1)
                  TreeView1[chiave2].Picture = Picture["icon/folder2.png"] 
.......


per leggere al momento del click
Codice: gambas [Seleziona]

$valoretree = TreeView1.Item.Key
$valoretree = Replace($valoretree, "a", "")
$valoretree = Replace($valoretree, "b", ";")
....
items = Split($valoretree, ";")
$cod1 = items[0]
$cod2 = items[1]
...
Titolo: Re: treeview (come risalire l'albero?)
Inserito da: allegfede - 23 Aprile 2013, 12:23:29
grazie!

RISOLTO

per abitudine VB penso sempre che la chiave sia riferita agli "item" di una collezione ... treeview1.item(chiave)= .....
ma effettivamente se la chiave e' unica basta oggetto[chiave].proprieta' :D

thanks
Titolo: Re: [RISOLTO] treeview (come risalire l'albero?)
Inserito da: md9327 - 23 Aprile 2013, 13:18:31
La chiave DEVE ESSERE UNICA...  :D

Un piccolo suggerimento: fare in modo che gli item figli riportino nella propria chiave un riferimento al proprio parent. Questo facilita in molti casi il compito di trovare i legami...