Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ComboBoxCell包含项目,但不显示任何内容_C#_Winforms_Datagridview_Datagridviewcomboboxcell - Fatal编程技术网

C# ComboBoxCell包含项目,但不显示任何内容

C# ComboBoxCell包含项目,但不显示任何内容,c#,winforms,datagridview,datagridviewcomboboxcell,C#,Winforms,Datagridview,Datagridviewcomboboxcell,我有一个DataGridView,它有一个ComboBoxColumn,我在表单设计器中添加了它。在我的代码中,我想添加行,每个行都有单独的ComboBoxCell。这是因为每一行在组合框中具有不同的值 我尝试添加DataGridViewComboxCell项,如下所示,还创建了DataTable并将其绑定到DataGridViewComboxCell。当我运行程序时,我可以看到行和组合框,但当我尝试单击框时,不会显示任何项目 DataGridViewComboBoxCell c

我有一个DataGridView,它有一个ComboBoxColumn,我在表单设计器中添加了它。在我的代码中,我想添加行,每个行都有单独的ComboBoxCell。这是因为每一行在组合框中具有不同的值

我尝试添加DataGridViewComboxCell项,如下所示,还创建了DataTable并将其绑定到DataGridViewComboxCell。当我运行程序时,我可以看到行和组合框,但当我尝试单击框时,不会显示任何项目

        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已设置为禁用编辑,我发现这会阻止我查看组合框项目。在真实的程序中还有其他列,它是只读的,这就是我禁用编辑的原因。我仍然希望用户能够单击并查看组合框项目。

确保已从该列的ColumnType中选择DataGridViewComboxColumn

如果尚未添加列,则可以这样添加

DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
column.Name ="cmbItem";
grd.Columns.Add(column);
若您已经添加了该列,那个么您可以直接从combobox单元格的引用中添加项

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");

我尝试单击框,但未显示任何项目。我试过你的密码。如果单击箭头,则会显示组合框。因此,请解释哪些项目不是displayed@Sathish单击箭头时,不显示任何项目。DataGridView嵌套在TabControl中,但我认为这不会有任何区别。