【问题标题】:Populate combo box in datagridview for new rows在 datagridview 中为新行填充组合框
【发布时间】:2015-01-04 20:23:00
【问题描述】:

我有这段代码用于在datagridview 中填充组合框

Dim dgvcc As DataGridViewComboBoxCell
dgvcc = DataGridView2.Rows(0).Cells(2)
dgvcc.Items.Add("comboitem1")
dgvcc.Items.Add("comboitem2")

它工作正常,但是当向datagridview 添加新行时,组合框不会填充数据 - 我希望它为每一行填充相同的数据

【问题讨论】:

  • 你需要写更多关于你的设置 - 你如何添加行,什么是数据源等等。
  • 您只填充第一行中的单元格。使用DataGridViewComboBoxColumnDataSource 属性

标签: vb.net winforms datagridview combobox


【解决方案1】:

不要将选择分配给单个DataGridViewComboBoxCell(对于该特定单元格),而是将选择分配给整个DataGridViewComboBoxColumn。这样做意味着列中的每个单元格都将共享相同的选择选项。

With DirectCast(DataGridView2.Columns(2), DataGridViewComboBoxColumn)
    .Items.Add("comboitem1")
    .Items.Add("comboitem2")
End With

请注意,我假设列 2 是您的组合框列,因为这是您的 sn-p 中使用的列。

【讨论】:

  • 如果列是预定义的(在设计器中创建),则可以通过生成变量Me.MyDataGridViewComboBoxColumn来使用列 - 无需转换和索引硬编码
  • .Add前需要添加什么?
  • @charlie - 上面的部分使用With 块,.Add 附加到With 语句中定义的内容。
  • 它说“'.Add' 不是 'System.Windows.Forms.DataGridViewComboBoxColumn' 的成员”
  • @charlie - 应该是.Items.Add - 我的错。我已经更新了答案。
猜你喜欢
  • 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
相关资源
最近更新 更多