使用DataGridViewComboBoxColumn和DataGridViewComboBoxCell

时间:2010-10-14 10:01:41

标签: c# user-interface ado.net

在我的应用程序中,我的数据网格具有简单的单元格类型 - 字符串,整数。

我想将其中一个单元格从字符串更改为组合框。

我尝试在每一行填充不同的inomration,但没有看到任何东西。 这意味着我在列的每个单元格中看到了comboBox,但是comboBox是空的。

DataGridViewComboBoxColumn cmdParam1 = new DataGridViewComboBoxColumn();
cmdParam1.Name = "cmdParam1";
cmdParam1.HeaderText = "cmdParam1";
dataGridView1.Columns.Add(cmdParam1);

DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)    (dataGridView1.Rows[2].Cells["cmdParam1"]);
cell.DataSource = new string[] { "1", "2", "3" }; 

cell = (DataGridViewComboBoxCell)(dataGridView1.Rows[4].Cells["cmdParam1"]);
cell.DataSource = new string[] { "4", "5", "6" }; 

由于

尼尔

2 个答案:

答案 0 :(得分:0)

不是将字符串数组分配给数据源,而是尝试下面的代码:

DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell) (dataGridView1.Rows[2].Cells["cmdParam1"]);
            cell.Items.Add("1");
            cell.Items.Add("2");
            cell.Items.Add("3");


DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell) (dataGridView1.Rows[4].Cells["cmdParam1"]);
            cell.Items.Add("4");
            cell.Items.Add("5");
            cell.Items.Add("6");

答案 1 :(得分:0)

我花了一些时间试图追踪类似的东西。如果您已启用ComboBox,则无法编辑单元格(即从FullRowSelect中选择项目)。