vb.net使用combodropbox填充datagridview
我从数组初始化了一个数据集。我想在datagridview上显示它。在其中,我只对数据集使用datasource属性,它正在工作。但是,其中一列需要是下拉列表,如何初始化datagridview以获得下拉列表值,然后当我将其设置为数据集时,该列上的值也会被选中。您需要向网格中添加DataGridViewComboBoxColumn。下面的代码是我用于向DataGridView添加一个视图的方法,因此这并不是您想要的,但应该可以帮助您:vb.net使用combodropbox填充datagridview,vb.net,datagridview,Vb.net,Datagridview,我从数组初始化了一个数据集。我想在datagridview上显示它。在其中,我只对数据集使用datasource属性,它正在工作。但是,其中一列需要是下拉列表,如何初始化datagridview以获得下拉列表值,然后当我将其设置为数据集时,该列上的值也会被选中。您需要向网格中添加DataGridViewComboBoxColumn。下面的代码是我用于向DataGridView添加一个视图的方法,因此这并不是您想要的,但应该可以帮助您: Public Sub AddComboBoxColumn(D
Public Sub AddComboBoxColumn(Dgv As DataGridView, ByVal fieldName As String, ByVal heading As String, ByVal width As Integer, ByVal DataSource As Object, Optional ByVal ValueMember As String = "Id", Optional ByVal DisplayMember As String = "Desc")
Dim col As New DataGridViewComboBoxColumn
With col
.DataSource = DataSource
.ValueMember = ValueMember
.DisplayMember = DisplayMember
.DataPropertyName = fieldName
.Name = fieldName
.HeaderText = heading
.Visible = True
.Width = width
.SortMode = DataGridViewColumnSortMode.Automatic
.ReadOnly = False
If Not .ReadOnly Then .DefaultCellStyle.BackColor = Color.LightYellow
.DefaultCellStyle.DataSourceNullValue = ""
End With
Dgv.Columns.Add(col)
End Sub
谢谢Jon,它添加了一个下拉列,然而,在调用datagridview.datasource=dataset之后,我得到了一个新的下拉列,它什么也不做。如何将新列与dataset中的某个字段关联?@Gilbert您需要将DataGridViewComboBoxColumn上的DataPropertyName属性设置为dataset中的字段名,以将其映射。