Имейте datagridview, которое содержит 4 столбца, созданные вручную в создателе datagridview. 1-й, 2-й и 3-й столбцы являются только столбцами текстового поля, но последний помечен как comboboxcolumn. В моей форме у меня есть кнопка, когда пользователь нажимает на нее, новая строка добавляется в datagridview. Для первых трех столбцов данные заполняются от некоторых переменных, и последний столбец combobox должен быть заполнен для пользователя из источника данных, чтобы он мог выбрать из него свое значение. . Проблема у меня есть проблемы с этой колонки выпадающего списка до сих пор не могли заполнить его Это мой фактический кодDatagridview с combobox не может заполнить
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
Пробовал также это:
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
В обоих случаях каждый раз, когда пользователь нажимает строка строки добавляется в datagrid, но последнее поле со списком столбцов пусто. Как это решить?
Если есть больше чем 1 DGV по форме, убедитесь, что вы обращаетесь правильной. В противном случае мы знаем, что данные находятся в коллекции элементов. Убедитесь, что пользователь знает, чтобы нажать 2ce, чтобы открыть CBO (первый раз просто выбирает строку). В качестве последнего средства откройте конструктор, удалите столбец CBO, сохраните проект, затем добавьте его снова - возможно, вы случайно установили какое-то свойство, которое мешает ему работать. – Plutonix
... например, если вы случайно установили столбец cbo в ReadOnly в редакторе столбцов, который он не откроет – Plutonix