【问题标题】:vb.net populate datagridview with combodropboxvb.net 使用组合下拉框填充 datagridview
【发布时间】:2019-11-19 06:55:47
【问题描述】:

我从一个数组初始化了一个数据集。我想在 datagridview 上显示它。在其中我只是对数据集使用数据源属性并且它正在工作。但是,其中一列需要是下拉列表,如何初始化 datagridview 以获得下拉值,然后当我将其设置为数据集时,该列上的值也会被选中。

【问题讨论】:

标签: vb.net datagridview


【解决方案1】:

您需要将 DataGridViewComboBoxColumn 添加到您的网格中。下面的代码是我用来将一个添加到 DataGridView 的方法,所以这不是您想要的,但应该可以帮助您:

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

【讨论】:

  • 谢谢乔恩,它添加了一个下拉列,但是,在调用 datagridview.datasource = dataset 之后,我只是得到了一个没有做任何事情的新下拉列。如何将新列关联到数据集中的某个字段?
  • @Gilbert 您需要将 DataGridViewComboBoxColumn 上的 DataPropertyName 属性设置为数据集中的字段名称以进行映射。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多