Hallo zusammen, dies ist mein erster Beitrag in diesem Forum.
Also dann werde ich mir versuchen diesen ersten Beitrag ordentlich und verständlich zu verfassen
Folgendes:
Ich möchte ein DataGridView manuelle zur Laufzeit mit dynamischen Werten aus einer Datenbank erstellen.
Folgendermaßen möchte es es realisieren:
Zunächst hole ich aus einer Datenbank über eine Select distinct(..) Abfrage bestimmte Werte und lege sie in ein Dataset ab.
Nun übergebe ich diese Werte in einer DataTable
Mit Hilfe des DataRow lese ich die in einer For each Schleife aus und übergebe sich mit Rows.Add in der For each Schleife einem Datagridview.
Gleichzeitig in dieser Schleife rufe ich mit diesen Werten mit einer Select Abfrage im where Zweig andere Werte auf.
Bis hierhin funktioniert alles einwandfrei.
Ab hier brauche ich eine Hilfestellung:
Nun möchte ich die Werte aus der zweiten Select Abfrage innerhalb der Schleife die Daten in einer bestimmten DataGridViewComboBox ablegen.
Wenn ich das über DataGridVeiwCombox. Datasource mache, bekommen alle ComboBoxen in dieser Spalte die gleichen Werte des letzten Durchlaufs der Schleife.
Ich möchte aber, das jede comboxBox die Werte der entsprechenden Select Abfrage bekommt.
Hier mein Code:
Hat vielleicht jemand nen Tipp oder habe ich einen falschen Denkansatz?
Gruß
Markus
Also dann werde ich mir versuchen diesen ersten Beitrag ordentlich und verständlich zu verfassen
Folgendes:
Ich möchte ein DataGridView manuelle zur Laufzeit mit dynamischen Werten aus einer Datenbank erstellen.
Folgendermaßen möchte es es realisieren:
Zunächst hole ich aus einer Datenbank über eine Select distinct(..) Abfrage bestimmte Werte und lege sie in ein Dataset ab.
Nun übergebe ich diese Werte in einer DataTable
Mit Hilfe des DataRow lese ich die in einer For each Schleife aus und übergebe sich mit Rows.Add in der For each Schleife einem Datagridview.
Gleichzeitig in dieser Schleife rufe ich mit diesen Werten mit einer Select Abfrage im where Zweig andere Werte auf.
Bis hierhin funktioniert alles einwandfrei.
Ab hier brauche ich eine Hilfestellung:
Nun möchte ich die Werte aus der zweiten Select Abfrage innerhalb der Schleife die Daten in einer bestimmten DataGridViewComboBox ablegen.
Wenn ich das über DataGridVeiwCombox. Datasource mache, bekommen alle ComboBoxen in dieser Spalte die gleichen Werte des letzten Durchlaufs der Schleife.
Ich möchte aber, das jede comboxBox die Werte der entsprechenden Select Abfrage bekommt.
Hier mein Code:
VB.NET-Quellcode
- Sub test()
- Dim cmb As New DataGridViewComboBoxColumn
- Dim dr As DataRow
- Dim dt As DataTable
- Form1.dgv.Columns.Add("Zahl", "Zahl")
- Form1.dgv.Columns.Add(cmb)
- cmb.HeaderText = "Box Nr."
- cmb.DisplayMember = "Box_nr"
- dt = fillControl("Select distinct(Zahl) from Training where system = '" & getSystem() & "' and versuchsleiter='" & Form1.comboTechnican.Text & "' and session_date > sysdate - 28 and tier_nr < 9999 order by Zahl asc")
- For Each dr In dt.Rows
- Form1.dgv.Rows.Add(dr(0))
- ' Ab hier komme ich nicht weiter
- 'Wenn ich dieses Version versuche kommt ein Fehler
- 'fillControl ist eine Funktion die mir die entsprechenden Werte zurück gibt. Funktioniert.
- Form1.dgv.Rows.Add(cmb.Items.Add(fillControl("Select Box_nr from Training where session_date >= sysdate-4 and Zahl = " & dr(0) & " order by insert_id desc")))
- 'Und hier werden keine Werte geschrieben'fillControl ist eine Funktion die mir die entsprechenden Werte zurück gibt. Funktioniert.
- cmb.Items.Add(fillControl("Select box_nr from Training where session_date >= sysdate-4 and tier_nr = " & dr(0) & " order by insert_id desc"))
- 'Wenn ich es über die Data Datasource Methode mache, haben die ComboBoxen alle die gleichen Werte
- 'fillControl ist eine Funktion die mir die entsprechenden Werte zurück gibt. Funktioniert.
- cmb.DataSource = fillControl("Select box_nr from Training where session_date >= sysdate-4 and Zahl = " & dr(0) & " order by insert_id desc")
- Next
- End Sub
Hat vielleicht jemand nen Tipp oder habe ich einen falschen Denkansatz?
Gruß
Markus
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Spiders0815“ ()