Haben Sie datagridview, die 4 Spalten enthält, die manuell in datagridview creator erstellt wurden. 1., 2. und 3. Spalte sind nur Textbox-Spalten, aber die letzte Spalte ist als Combobox-Spalte markiert. Auf meinem Formular habe ich Knopf, wenn Benutzer darauf klickt, wird neue Zeile zu Datagridview hinzugefügt. Für die ersten drei Spalten werden Daten von einigen Variablen aufgefüllt, und die letzte Combobox-Spalte sollte für den Benutzer aus der Datenquelle aufgefüllt werden, damit er seinen Wert daraus auswählen kann. . Das Problem ist, ich habe Probleme mit dieser Combobox Spalte und so könnte es in weitem nicht füllt Dies ist mein eigentlicher CodeDatagridview mit Combobox kann nicht ausgefüllt werden
Private Sub myButton_Click(sender As Object, e As EventArgs) Handles btnAddMatType.Click
Dim dt as DataTable
dt = New Variation().GetAll() 'returning Ids and Names
Dim cbo = CType(dgvMaterials.Columns(3), DataGridViewComboBoxColumn)
cbo.Items.AddRange(dt.AsEnumerable().Select(Function(s) s.Field(Of String)("Name")).ToArray())
try
Dim rodzajID as String = TreeMaterials.SelectedValue
Dim rodzajName as string = TreeMaterials.SelectedNode.Text
Dim material as string = TreeMaterials.SelectedNode.Parent.Text
dgvMaterials.Rows.Add(material, rodzajName, rodzajID)
End Sub
auch versucht, dies:
Private Sub myButton_Click(sender As Object, e As EventArgs) Handles btnAddMatType.Click
Dim dt as DataTable
dt = New Variation().GetAll() 'returning Ids and Names
Dim cbo = CType(dgvMaterials.Columns(3), DataGridViewComboBoxColumn)
cbo.DataSource = dt
cbo.ValueMember = "Id"
cbo.DisplayMember = "Name"
Dim rodzajID as String = TreeMaterials.SelectedValue
Dim rodzajName as string = TreeMaterials.SelectedNode.Text
Dim material as string = TreeMaterials.SelectedNode.Parent.Text
dgvMaterials.Rows.Add(material, rodzajName, rodzajID)
End Sub
In beiden Fällen Klicks jedes Mal Benutzer Schaltflächenzeile wird zu Datagrid hinzugefügt, aber die Combobox der letzten Spalte ist leer. Wie löst man das?
Wenn es mehr als 1 DGV auf dem Formular ist sicher, dass Sie die richtigen zugreifen. Ansonsten wissen wir, dass die Daten in der Artikelsammlung enthalten sind. Stellen Sie sicher, dass der Benutzer weiß, dass er auf 2ce klicken muss, um das CBO zu öffnen (beim ersten Mal wird nur die Zeile ausgewählt). Als letzten Ausweg öffnen Sie den Designer, entfernen Sie die CBO-Spalte, speichern Sie das Projekt, und fügen Sie es dann wieder ein - vielleicht setzen Sie versehentlich eine Eigenschaft, die verhindert, dass sie funktioniert. – Plutonix
... zum Beispiel, wenn Sie versehentlich die cbo-Spalte im Spalteneditor auf ReadOnly gesetzt haben, wird sie nicht geöffnet – Plutonix