在vb.net的datagridview中使用Combobox的现有列

时间:2014-12-17 07:23:04

标签: vb.net datagridview datagridviewcombobox datagridviewcomboboxcell

我试图在DataGridView的现有列上放下一个下拉列表。我正在从excel源填充网格到我需要下拉的特定列。

`

Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
DataGridView1.DataSource = dataSetOld.Tables("Old")
comboBoxColumn.HeaderText = "Comments"
comboBoxColumn.Items.Add("Resolution Breach")
comboBoxColumn.Items.Add("Response Breach")
DataGridView1.Columns("Comments").DataGridView.Columns.Add(comboBoxColumn)

`


通过此代码,我在网格中添加了另一列。但我希望下载到现有的列。

2 个答案:

答案 0 :(得分:0)

首先,你必须删除那个旧列,之后你必须将excel中的数据填入新列

答案 1 :(得分:0)

Dim gridComboBox As New DataGridViewComboBoxCell
     gridComboBox.Items.Add("Resolution Breach")       'Populate the Combobox
     gridComboBox.Items.Add("Response Breach")         'Populate the Combobox
DataGridView1.Item(combobox_column, combobox_row) = gridComboBox

对于列中的每个单元格,您需要链接您的comboBox,在将其链接到单元格之前填充该组合框。列的名称必须是“注释”而不仅仅是标题文本。您从源(数据库)获取列名。 ..在你的情况下:

Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
Dim combobox_row as Integer

    DataGridView1.DataSource = dataSetOld.Tables("Old")
    comboBoxColumn.HeaderText = "Comments"
    comboBoxColumn.Items.Add("Resolution Breach")
    comboBoxColumn.Items.Add("Response Breach")
    for combobox_row = 0 to DataGridView1.RowCount - 1
        DataGridView1.Item("Comments", combobox_row) = comboBoxColumn
    next combobox_row