使用List的值填充DataGridView中的组合框

时间:2018-02-14 14:18:41

标签: c# .net winforms datagridview datagridviewcomboboxcolumn

我正在尝试在DataGridView中添加一个Combobox我正在管理它的方法重复了很多次,如果我刷新我在Windows窗体中的另一个组合框,我再次运行这个方法

this.DataGridView1.ColumnCount = Constants.Vacation_Calendar.Total_Calendar_Days + 2;
this.DataGridView1.Columns[0].Name = "Resource";
this.DataGridView1.Columns[0].Width = 100;
this.DataGridView1.Columns[1].Name = "Month";
this.DataGridView1.Columns[1].Width = 60;



DataGridViewComboBoxColumn cb = new DataGridViewComboBoxColumn();
List<Process> getAllProcesses = this.bl_process.getAll_Process();
List<String> getApplication= new List<string>();


foreach (Process process in getAllProcesses)
{
    getApplication.Add(process.Application);
}



if (!DataGridView1.Columns.Cast<DataGridViewColumn>().Any(x => x.Name == "ProcessColumn"))
{
    cb.HeaderText = "Process";
    cb.Name = "ProcessColumn";
    cb.Width = 100;
    cb.DataSource = getApplication;
    cb.ReadOnly = false;
    DataGridView1.Columns.Insert(2, cb);
}

我一直在设计器中使用以下代码处理错误:

this.DataGridView1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.DataGridView1_DataError);

在代码背后:

private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e){}

有了这一切,我无法看到我的列表填充组合框,这里还缺少什么?

非常感谢你提前

PS:我将“getApplication”对象添加到Quickwatches并且它正在接收我的List中的所有值,所以这一切都很好。

1 个答案:

答案 0 :(得分:0)

我不需要像gridIn中的一个方法SelectedIndexChanged绑定到我的组合框吗?看看我在选择什么