Hallo zusammen,
ich versuche mein DGV mit Comboboxen zu befüllen, hab da aber einige probleme mit. Es geht darum 2 Tabellen einer MDB abzugleichen. Es gibt Ungleiche Feldnamen mit gleichen Inhalten. Auf diese weise soll der Anwender die Möglichkeit haben dem Programm mitzuteilen welche Felder aus Datenbank A zu den Feldern aus Datenbank B passen.
Das DGV ist ein 2 Spalten eingeteilt - Source Field und Destination Field - und soll genausoviel Zeilen haben wie es Items in cboColumnSRC (entspricht der Spaltenanzahl der Tabelle aus Datenbank A) gibt. Da ich mit dgvTableFields.Rows.Add(dgvRow) nach dem 2 Aufruf die Fehlermeldung bekomme das das Steuerelement bereits gebunden ist habe ich mich entschlossen die Var dgvr() ins Leben zu rufen. Die Idee ist das Array mit der Anzahl an spalten zu dimensionieren wie ich eben brauche, aber auch das bekomme ich nach dem 2. Durchlauf meiner For-Next Schleife diese Fehlermeldung! Ich nehme an das bei zuweisen nicht der Inhalt von dgvRow übergeben wird sondern eine Referenz erstellt wird.
Weiss jemand abhilfe für mein Problemchen?
Dim dgvCell As DataGridViewCell
Dim dgvRow As New DataGridViewRow
Dim dgvr() As DataGridViewRow
Dim cboColumnSRC As New DataGridViewComboBoxColumn()
Dim cboColumnDST As New DataGridViewComboBoxColumn()
Try
dgvTableFields.RowHeadersVisible = False
dgvTableFields.Columns.Add("SRCFLDNAMES", "Source Field Names")
dgvTableFields.Columns.Add("DSTFLDNAMES", "Destiantion Field Names")
dgvCell = New DataGridViewComboBoxCell
cboColumnSRC = GetFieldNames()
cboColumnDST = GetMDBTableFieldNames()
dgvCell = cboColumnSRC.CellTemplate
dgvRow.Cells.Add(dgvCell)
dgvCell = New DataGridViewComboBoxCell
dgvCell = cboColumnDST.CellTemplate
dgvRow.Cells.Add(dgvCell)
ReDim Preserve dgvr(cboColumnSRC.Items.Count - 1)
**For i As Integer = 0 To cboColumnSRC.Items.Count - 1
dgvr(i) = dgvRow
dgvTableFields.Rows.Add(dgvr(i))
Next i**
Catch ex As Exception
MsgBox(ex.Message)
End Try
lg Enrico