Hei taas!
Eli aikaisemmin kysyin apua treeview:n täyttämiseen, joihin foorumin guruilta sainkin vastauksen, nyt ongelmana olisi, että onko mahdollista ajaa nodejen checkboxien kautta raportti?
Eli nodet menee:
-Keskus1
---------Lähtö1
---------Lähtö2
-Keskus2
---------Lähtö3
Jokaiselle keskus-lähtö kombinaatiolle on annettu oma uniikki tunnus, laitepaikka.
Haluaisin ajaa raportin esimerkiksi valitsemalla lähdöt 1 ja 3, jolloin saisin luettelon lähtöjen 1 ja 3 laitteista, jotka sijaitsevat tietokannassa laitepaikkojen alapuolella, erillisessä taulussa.
Eli ohjelmistona löytyisi Crystal Reports 9 ja VS2005, kannat Access -kantoja, eli siis käytän monia kantoja, mutta kannat ovat rakenteeltaan samanlaisia.
Moi kSiit!
tutki saatko oheisista esimerkeistä ideoita...
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim hakusana(1, 0) As String, cnt As Integer = -1 For i As Integer = 0 To treeView1.Nodes.Count - 1 For Each node As TreeNode In treeView1.Nodes(i).Nodes With node If .Checked Then cnt += 1 Redim preserve hakusana(1, cnt) hakusana(0, cnt) = .Parent.Text hakusana(1, cnt) = .Text End If End With Next node Next i If hakusana(0, 0) <> String.Empty Then For i As integer = 0 To hakusana.GetUpperbound(1) 'testi... MsgBox(hakusana(0, i) + _ Environment.Newline + _ "----" + hakusana(1, i)) Next End If hakusana = Nothing End Sub
'tai jokainen valinta erikseen suoraan tapahtumasta Private Sub TreeView1_AfterCheck(ByVal sender As Object, _ ByVal e As TreeViewEventArgs) Handles TreeView1.AfterCheck Dim hakusana(1) As String Try If e.node.Checked Then hakusana(0) = e.node.parent.text hakusana(1) = e.node.text End If Catch ex As Exception End Try If hakusana(0) <> String.Empty Then 'testi... MsgBox(hakusana(0) + _ Environment.Newline + _ "----" + hakusana(1)) End If hakusana = Nothing End Sub
Kiitoksia!
Sainkin toimimaan, tuosta vaan arraylla checkatut nodet, joinattiin, joista saatiinki sql -lause, jolla täytettin datasetin datatable, jota käytin raportin lähteenä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.