Ich weiß nicht warum aber hier ist ein Beispiel wo es klappt. Eine DataTable wird angelegt und in Button1_Click() mit Daten befüllt.
Ich kann mir aber nicht so gut vorstellen wie man sowas in der Praxis verwenden könnte, oder machen wöllte.
Dim dt As New DataTable("MyTable")
Dim bs1 As BindingSource
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Dim dc As DataColumn = dt.Columns.Add("Id", GetType(Integer))
dc.AutoIncrement = True
dc.Unique = True
dt.PrimaryKey = {dc}
dc = dt.Columns.Add("Name", GetType(String))
dc.AllowDBNull = False
dc = dt.Columns.Add("Address", GetType(String))
dc.AllowDBNull = False
dc = dt.Columns.Add("Code", GetType(String))
dc.AllowDBNull = False
bs1 = New BindingSource(dt, Nothing)
DataGridView1.AutoGenerateColumns = False
Me.DataGridView1.DataSource = bs1
End Sub
Private myArray1() As String = New String() {"A", "B", "C"}
Private myArray2() As String = New String() {"D", "E", "F"}
Private Sub DataGridView1_RowsAdded(ByVal sender As System.Object, ByVal e _
As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles _
DataGridView1.RowsAdded
Debug.WriteLine("Row index: " & e.RowIndex.ToString())
Select Case e.RowIndex Mod 2
Case 0
For Each s As String In myArray1
DirectCast(DataGridView1.Rows(e.RowIndex).Cells(3), _
DataGridViewComboBoxCell).Items.Add(s)
Next
Case 1
For Each s As String In myArray2
DirectCast(DataGridView1.Rows(e.RowIndex).Cells(3), _
DataGridViewComboBoxCell).Items.Add(s)
Next
End Select
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Dim dr As DataRow = dt.NewRow
dr("Name") = "Snythe"
dr("Address") = "Some Street"
dr("Code") = "A"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Snoddit"
dr("Address") = "Someother Street"
dr("Code") = "D"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Smunkle"
dr("Address") = "Different Street"
dr("Code") = "A"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Splum"
dr("Address") = "Dim Street"
dr("Code") = "D"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Spootle"
dr("Address") = "Different Street 99"
dr("Code") = "A"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Splimbuk"
dr("Address") = "Different Street 13"
dr("Code") = "D"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Publetto"
dr("Address") = "Machine Street"
dr("Code") = "A"
dt.Rows.Add(dr)
dr = dt.NewRow
dr("Name") = "Polywot"
dr("Address") = "Dome Street"
dr("Code") = "D"
dt.Rows.Add(dr)
End Sub ________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist |