Chiedo aiuto per popolare una treeview in vb.net

di il
14 risposte

Chiedo aiuto per popolare una treeview in vb.net

Salve,

sto riproducendo un software che ho scritto in VB6 nel quale c'è questa routine

Private Sub Aggiungi(Padre) 
Set RS = New ADODB.Recordset 
Set db = New ADODB.Connection 
db.CursorLocation = adUseClient 'Apertura della connessione con odbc=maint e database=maint 
db.Open "PROVIDER=MSDASQL;dsn=MAINT1;uid=sa;pwd=sa;database=maint;" 
SQL = "select * from livelli WHERE id_livello_padre=" & Padre & "" 
RS.Open SQL, db, adOpenStatic, adLockOptimistic 
With RS Do While Not .EOF '
If Padre = "0" Then 
Set nodx = TreeView1.Nodes.Add 
Else 
Set nodx = TreeView1.Nodes.Add("C" & Padre, tvwChild) 
End If 
nodx.Key = "C" & .Fields("id_livello_figlio") 
nodx.Text = .Fields("Descrizione") ' 
 Aggiungi (.Fields("id_livello_figlio"))
 .MoveNext 
Loop 
.Close 
End With
 End Sub

questa routine funziona benissimo e questo è il risultato

 vorrei riprodurre la stessa cosa in vb.net ma sto impazzendo, potete aiutarmi,  l'immagine della tabella non si carica provo in un successivo messaggio

14 Risposte

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    E in pratica cosa chiedi?

    Hai scritto il codice vbnet? Cosa non va?

    Da cosa si parte? Errori? MalfunIonamenti?

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Ciao Oregon,

    grazie per l'interesse,

    il codice non è in VB.Net ma in VB6 , trascritto così da errore

    vorrei sapere quali sono le corrispondenze in vb.net

    per esempio “nodx.key” key non è riconosciuto in vb.net

    “tvwChild” non è riconosciuto in vb.net

    per questo credo che la treeview sia gestita con comandi diversi

    se puoi aiutarmi ti sarei molto grato,

    di dove sei ?, io sono a Roma

    saluti, Max

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Devi cominciate dalla documentazione del controllo per vbnet a partire da

     https://learn.microsoft.com/it-it/dotnet/desktop/winforms/controls/treeview-control-windows-forms?view=netframeworkdesktop-4.8

    in cui troverai come si usano proprietà e metodi per aggiungere nodi e tutti il resto. 

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Grazie Oregon,

    questo lo sapevo ma cercavo un esempio poiché non capisco bene come creare i nodi figli

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Https://learn.microsoft.com/it-it/dotnet/desktop/winforms/controls/how-to-add-and-remove-nodes-with-the-windows-forms-treeview-control?view=netframeworkdesktop-4.8

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Grazie gian82

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Tra i link esistono esempi di utilizzo dei metodi per aggiungere elementi.

    Ovviamente non troverai esattamente quello che ti serve ma se cominci a scrivere e provare qualcosa in base ai suggerimenti poi ai può vedere dove sbagli e come ovviare

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Vedi Oregon,

    non sono un neofita e so che ci sono tanti link di esempio ma, a volte(quasi sempre) manca il più semplice

    per esempio l'ultimo link consigliato fa vedere come addizionare un nodo ad un nodo selezionato,

    non fa vedere come aggiungere un nodo ad uno appena creato.

    in ogni caso io ho mostrato come si fa in VB6 

    e vorrei qualcuno che conosce vb.net facesse altrettanto in vb.net

    Chiunque può dire vai a vedere i link

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    "l'ultimo link consigliato fa vedere come addizionare un nodo ad un nodo selezionato" 

    dovrebbe bastare recuperare il nodo appena creato ed aggiungergli un “sotto” nodo agendo sulla sua collezione nodes con il metodo Add

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Ciao gian82,

    ho provato credimi, in vari modi ma non trovo la quadra

    questo è il codice che sto provando ma non mette figli

        Private Sub ptreeview(ByVal parentid As Integer)
           Dim mtable8 As DataTable
           mtable8 = MyDBaseM.Table("select * from livelli  WHERE id_livello_padre=" & parentid & " ")
           Dim newnode As TreeNode

           With mtable8
               For Each r As DataRow In mtable8.Rows
                   TextBox1.Text = mtable8.Rows.Count
                   If parentid = 0 Then
                       TreeView1.Nodes.Add(parentid)
                   Else
                       TreeView1.Nodes.Add(r("descrizione"))
                   End If
                   '                TreeView1.Nodes.Add(i)
        ‘’'''           newnode = New TreeNode(r("descrizione"))     queste 2 righe sono commentate l'esempio che mi hai dato

        ‘’'''           treeView1.SelectedNode.Nodes.Add(newNode)   queste sono le righe consigliate, ma non c'è un nodo selezionato

                   parentid = r("id_livello_figlio")
                   ptreeview(parentid)
               Next
           End With

       End Sub

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    13/06/2023 - Zeusmax ha scritto:

    in ogni caso io ho mostrato come si fa in VB6 

    e vorrei qualcuno che conosce vb.net facesse altrettanto in vb.net

    No, non funziona così. Qui non metti un codice e uno te lo converte, non è un posto dove si fanno i lavori conto terzi.

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Caro Oregon,

    questa risposta è solo per te

    non ho chiesto un prodotto ma 2 righe di codice

    io ho passato molti software senza chiedere niente, perché sapevo farlo e non ho paura di passare il mio sapere

    mentre molti fanno finta di sapere e creano solo problemi

    stai sicuro che risolverò il mio problema e grazie a te non lo pubblicherò

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    in ogni caso io ho mostrato come si fa in VB6 

    e vorrei qualcuno che conosce vb.net facesse altrettanto in vb.net

    Niente polemiche o vittimismo, ho esperienza di migliaia e migliaia di thread e quello che ti ho detto è chiaro. Tu hai detto di aver mostrato il codice vb6 e di volere l'equivalente vb.net.

    E ti ho risposto solo che un forum NON funziona così. Inutile lamentarsi.

    Ripeto, si danno suggerimenti, spunti, link ed altre spiegazioni se servono. Si fanno prove con del codice, si aggiusta quello che non funziona, ma da AMBEDUE le parti.

    Se quelli che invece cerchi tu è un servizio professionale di un programmatore, dagli l'incarico. Se risolvi va benissimo, se non pubblichi non mi interessa minimamente. 

  • Re: Chiedo aiuto per popolare una treeview in vb.net

    Ho risolto il problema della treeview

Devi accedere o registrarti per scrivere nel forum
14 risposte