我有DataGridView
我在表单设计器中添加了ComboBoxColumn
。在我的代码中,我想添加每个都有个别ComboBoxCell
&#39的行。这是因为每一行在ComboBox中都有不同的值。
我尝试添加DataGridViewComboBoxCell
项,如下所示,同时创建DataTable
并将其绑定到DataGridViewComboBoxCell
。当我运行程序时,我可以看到行和组合框,但是当我尝试单击这些框时,不会显示任何项目。
DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();
DataGridViewComboBoxCell cell2 = new DataGridViewComboBoxCell();
cell.Items.Add("Item1");
cell.Items.Add("Item2");
cell.Items.Add("Item3");
cell2.Items.Add("Item4");
cell2.Items.Add("Item5");
cell2.Items.Add("Item6");
DataGridViewRow row = new DataGridViewRow();
DataGridViewRow row1 = new DataGridViewRow();
row.Cells.Add(cell);
row1.Cells.Add(cell2);
dataGridView1.Rows.Clear();
dataGridView1.Rows.Add(row);
dataGridView1.Rows.Add(row1);
dataGridView1.Refresh();
我似乎无法在其他帖子中找到解决方案。任何人都可以帮助显示项目吗?
编辑:DataGridView
已设置为禁用编辑,我发现这使我无法查看ComboBox
项目。在真正的程序中还有其他列,它只是读取,这就是我禁用编辑的原因。我仍然希望用户能够点击并查看ComboBox
项目。
答案 0 :(得分:0)
确保您从该列的DataGridViewComboboxColumn
中选择了ColumnType
。
如果您尚未添加该列,则可以这样添加。
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
column.Name ="cmbItem";
grd.Columns.Add(column);
如果您已添加该列,则可以直接从参考组合框单元添加项目。
int rowIndex = grd.Rows.Add();
DataGridViewComboBoxCell oCell = (DataGridViewComboBoxCell)grd.Rows[rowIndex].Cells["cmbItem"];
oCell.Items.Add("Item1");
oCell.Items.Add("Item2");
oCell.Items.Add("Item3");
rowIndex = grd.Rows.Add();
DataGridViewComboBoxCell oCell = (DataGridViewComboBoxCell)grd.Rows[rowIndex].Cells["cmbItem"];
oCell.Items.Add("Item4");
oCell.Items.Add("Item5");
oCell.Items.Add("Item6");