Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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# 以编程方式填充DataGridView ComboxCell_C#_Winforms_Datagridview - Fatal编程技术网

C# 以编程方式填充DataGridView ComboxCell

C# 以编程方式填充DataGridView ComboxCell,c#,winforms,datagridview,C#,Winforms,Datagridview,我在winforms中有一个DataGridView,它包含一个combobox列。gridview以编程方式填充,并且在开始时为空。“列表”是包含自定义对象的列表。值1/2/3对于每行都是唯一的 int[] array = new[] {value1,value2,value3} for (int i = 0; i < list.Count; i++) { DataRow newrow = MyDataTable.NewRow(); newrow["idColumn"]

我在winforms中有一个DataGridView,它包含一个combobox列。gridview以编程方式填充,并且在开始时为空。“列表”是包含自定义对象的列表。值1/2/3对于每行都是唯一的

int[] array = new[] {value1,value2,value3}
for (int i = 0; i < list.Count; i++)
{
    DataRow newrow = MyDataTable.NewRow();
    newrow["idColumn"] = list[i].Customer_id;
    newrow["dateoforderColumn"] = list[i].Customer_date;
    newrow["commColumn"] = list[i].Customer_comment;
    // This is what I want, and can't get to work.
    newrow["comboColumn"] = array;
    // I have also tried (newrow["comboColumn"] as DataGridViewComboColumn).DataSource
    // but it didn't work either.

    MyDataTable.Rows.Add(newrow);
}
int[]数组=新[]{value1,value2,value3}
for(int i=0;i

如何填充新创建的组合框单元格?另外,我需要在for循环中执行此操作,因为我需要索引来获取数据。

从代码的外观来看,您只需要设置一个值数组。在这种情况下,您只需要为列设置一次,而不是为每一行设置一次,我通常在构造函数中或在填充行之前进行设置

        //Clear any junk items that may have been there from the designer or previous view
        ((DataGridViewComboBoxColumn)MyDataTable.Columns["comboColumn"]).Items.Clear();
        //Add you new values
        ((DataGridViewComboBoxColumn)MyDataTable.Columns["comboColumn"]).Items.AddRange(array);
然后设置新行单元格的值

        //Set value to be selected in new row
        newrow["comboColumn"] = list[i].Customer_value;

Post如何添加列以及如何设置数据源列是在设计器中添加的,其唯一数据源是以编程方式创建的datatable。