Autore Topic: [RISOLTO] treeview (come risalire l'albero?)  (Letto 694 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
[RISOLTO] treeview (come risalire l'albero?)
« il: 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?
« Ultima modifica: 23 Aprile 2013, 12:24:03 da allegfede »
se corri, morirai stanco (motto degli sniper)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: treeview (come risalire l'albero?)
« Risposta #1 il: 22 Aprile 2013, 18:17:39 »
La TreeView è come una Collection.
Per leggere l'item. devi indirizzarlo tramite la sua chiave.

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: treeview (come risalire l'albero?)
« Risposta #2 il: 22 Aprile 2013, 23:05:09 »
Tipo treeview(chiave).text ?
se corri, morirai stanco (motto degli sniper)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: treeview (come risalire l'albero?)
« Risposta #3 il: 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]
...

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: treeview (come risalire l'albero?)
« Risposta #4 il: 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
se corri, morirai stanco (motto degli sniper)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: [RISOLTO] treeview (come risalire l'albero?)
« Risposta #5 il: 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...