|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
[VB.NET] TreeView con 2 valori differenti !!!
Salve!
Vorrei assegnare ad un "TreeView" 2 valori differenti estratti da una tabella di un Database, tipo: "ID_Articolo" e "Articolo" in modio da visualizzare nei nodi il campo "Articolo", ma poi cliccando nel nodo estrarre il valore del campo "ID_Articolo", in modo da poterci fare delle QUERY con quell' ID_Articolo. Private Sub TreeView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.DoubleClick MsgBox(TreeView1.SelectedNode.Text) End Sub E' possibile assegnare 2 valori differenti ad un nodo ??? e poi estrarli ??? se si come ??? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Come posso aggiustare questo codice ???
Mi hanno dato una mano fino a qui' , mica ci si puo' fare qualcosa qui ??? Codice:
Private oConn As New SqlConnection("Data Source=127.0.0.1,1433; Network Library=DBMSSOCN; Initial Catalog=Web_Monster; User ID=sa; Password=;")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myNode As New MyNode()
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
oConn.Open()
Dim oComm As New SqlCommand("SELECT ID_Pratica FROM Pratiche ORDER BY ID_Pratica ASC", oConn)
Dim oRead As SqlDataReader = oComm.ExecuteReader
While oRead.Read()
myNode.myProp1 = oRead("ID_Pratica")
TreeView1.Nodes.Add("Pratica N. " & myNode.myProp1)
End While
oConn.Close()
TreeView1.EndUpdate()
End Sub
Public Class MyNode : Inherits TreeNode
Public myProp1, MyProp2, MyProp3 As String
End Class
Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim Node As MyNode = DirectCast(TreeView1.SelectedNode, MyNode)
Dim s As String = Node.myProp1
MsgBox(s)
End Sub
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2000
Messaggi: 1209
|
Eccolo finalmente funziona tutto !!!!!!!
Solamente che non riesco a estrarre i valori contenuti nelle proprieta' delle classi in base al Nodo cliccato. Codice:
Private sConn As String = "Data Source=127.0.0.1,1433; Network Library=DBMSSOCN; Initial Catalog=Web_Monster; User ID=sa; Password=;"
Private oConn As New SqlConnection(sConn)
Private oConn1 As New SqlConnection(sConn)
Private oConn2 As New SqlConnection(sConn)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim n1 As TreeNode
Dim n2 As TreeNode
Dim n3 As TreeNode
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
'-- estrazione Pratiche inizio
oConn.Open()
Dim oComm As New SqlCommand("SELECT ID_Pratica FROM Pratiche ORDER BY ID_Pratica ASC", oConn)
Dim oRead As SqlDataReader = oComm.ExecuteReader
While oRead.Read()
Dim myNodePratiche As New NodoPratiche
myNodePratiche.Label = "Pratica"
myNodePratiche.ID_Pratiche = oRead("ID_Pratica")
n1 = TreeView1.Nodes.Add(myNodePratiche.Label & "_" & myNodePratiche.ID_Pratiche)
'-- estrazione Url inizio
oConn1.Open()
Dim oComm1 As New SqlCommand("SELECT ID_Url,Url FROM Url WHERE ID_Pratica=" & oRead("ID_Pratica") & "", oConn1)
Dim oRead1 As SqlDataReader = oComm1.ExecuteReader
While oRead1.Read()
Dim nodeUrl As New NodoUrl
nodeUrl.ID_Url = oRead1("ID_Url")
nodeUrl.Url = oRead1("Url")
n2 = n1.Nodes.Add(nodeUrl.Url)
'-- estrazione Email inizio
oConn2.Open()
Dim oComm2 As New SqlCommand("SELECT ID_Email,Email FROM Email WHERE ID_Pratica=" & oRead("ID_Pratica") & " AND ID_Url=" & oRead1("ID_Url") & "", oConn2)
Dim oRead2 As SqlDataReader = oComm2.ExecuteReader
While oRead2.Read()
Dim nodeEmail As New NodoEmail
nodeEmail.ID_Email = oRead2("ID_Email")
nodeEmail.Email = oRead2("Email")
n3 = n2.Nodes.Add(nodeEmail.Email)
End While
oConn2.Close()
End While
oConn1.Close()
End While
oConn.Close()
TreeView1.EndUpdate()
End Sub
Public Class NodoPratiche
Public ID_Pratiche, Label As String
End Class
Public Class NodoUrl
Public ID_Url, Url As String
End Class
Public Class NodoEmail
Public ID_Email, Email As String
End Class
Private Sub TreeView1_BeforeExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand
MsgBox("qui' vorrei visualizzare il valore di una proprieta' della classe in base al nodo cliccato")
End Sub
il mio problema e' estrarre dalla classe un dato es: da "Public Class NodoPratiche " vorrei estrarre il contenuto di "ID_Pratiche" che contiene l'ID:Pratica del Nodo cliccato, come posso fare ad estrarlo ??? io faccio questo: Codice:
Dim x As NodoPratiche Dim y As Integer = x.ID_Pratiche MsgBox(y) Codice:
Riferimento a un oggetto non impostato su un'istanza di oggetto. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:35.



















