3

我正在尝试在 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)

`


通过这段代码,我在网格中添加了另一列。但我想要下拉到现有的列。

4

2 回答 2

0

首先,您必须删除该旧列,然后您必须将 excel 中的数据填充到新列中

于 2014-12-22T11:31:39.840 回答
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

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

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
于 2017-04-04T07:47:53.707 回答