| |

VB.NET - Ein- und UmsteigerRe: TreeView Node per Mausclick auswerten - problem. | |  | Autor: Hoepker | Datum: 03.02.10 18:05 |
| Stimmt. Damit geht es auch bei mir. dann muss es aber daran liegen, wie ich den Tree befülle. ich weiß ist sicher nicht die eleganteste Methode, aber das Ergebnis ist genau richtig. Code anbei.
Aber dann klappt es eben nicht. Komisch. Private Sub Main_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
initilizeFillTreeView()
End Sub
Public Sub initilizeFillTreeView()
Dim con As New OleDb.OleDbConnection
Dim cmd_Obj As New OleDb.OleDbCommand
Dim cmd_mv As New OleDb.OleDbCommand
Dim cmd_tx As New OleDb.OleDbCommand
Dim cmd_rb As New OleDb.OleDbCommand
Dim reader_Obj As OleDb.OleDbDataReader
Dim reader_mv As OleDb.OleDbDataReader
Dim reader_tx As OleDb.OleDbDataReader
Dim reader_rb As OleDb.OleDbDataReader
Dim list(1000, 2) As String
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data" & _
"Source=|DataDirectory|\datenbank.mdb"
cmd_Obj.Connection = con
cmd_mv.Connection = con
cmd_tx.Connection = con
cmd_rb.Connection = con
cmd_Obj.CommandText = "select * from Objekte"
Dim i, j, mv, tx, tx_level As Integer
Dim tr As New TreeView()
tr.Dock = DockStyle.Fill
Try
con.Open()
reader_Obj = cmd_Obj.ExecuteReader()
Do While reader_Obj.Read()
i = i + 1
list(i, 1) = reader_Obj("Obj_name")
list(i, 2) = reader_Obj("Obj_ID")
Loop
con.Close()
For j = 1 To i
tx_level = 0
tr.Nodes.Add(list(j, 1))
tr.Nodes(j - 1).Nodes.Add("Übersicht")
tx_level = tx_level + 1
'Prüfen auf aktiven Mietvertrag
cmd_mv.CommandText = "Select * from Mietvertrag where" & _
"MV_Status= 'Aktiv' AND MV_Objekt_ID= " & list(j, 2) & ""
con.Open()
reader_mv = cmd_mv.ExecuteReader()
Do While reader_mv.Read()
mv = mv + 1
Loop
If mv > 0 Then
tr.Nodes(j - 1).Nodes.Add("Mietvertrag")
tx_level = tx_level + 1
End If
con.Close()
'Transaktionen nach jahr Gruppieren
cmd_tx.CommandText = "SELECT Year(TX_Datum) AS TXJahr," & _
"TX_Objekt_ID FROM Transaktionen GROUP BY Year(" & _
"TX_Datum),TX_Objekt_ID HAVING (TX_Objekt_ID= " & list(j, 2) _
& "); "
con.Open()
reader_tx = cmd_tx.ExecuteReader()
tx = 0
Do While reader_tx.Read()
tx = tx + 1
If tx = 1 Then
tr.Nodes(j - 1).Nodes.Add("Transaktionen")
End If
tr.Nodes(j - 1).Nodes(tx_level).Nodes.Add(reader_tx( _
"TXJahr"))
Loop
con.Close()
'Regelbuchungen prüfen
cmd_rb.CommandText = "SELECT * FROM Regelbuchungen Where" & _
"RB_Objekt_ID= " & list(j, 2) & "; "
con.Open()
reader_rb = cmd_tx.ExecuteReader()
tx = 0
Do While reader_rb.Read()
tx = tx + 1
If tx = 1 Then
tr.Nodes(j - 1).Nodes.Add("Regelbuchungen")
End If
Loop
con.Close()
Next j
Catch ex As Exception
MsgBox(ex.Message)
End Try
Obj_tree.Controls.Add(tr)
End Sub
Private Sub Obj_tree_NodeMouseClick(ByVal sender As Object, ByVal e As _
System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles _
Obj_tree.NodeMouseClick
txt_Obj_Name_selected.Text = e.Node.Text()
End Sub |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|