0

我想在我的 DataGridView 中单独设置每个 DataGridViewComboBoxCell 的项目(因为每个组合框必须有不同的项目)。我使用此代码来设置项目:

foreach (DataGridViewRow row in grid.Rows)
{
    ((DataGridViewComboBoxCell)row.Cells[1]).Items.Clear();
    foreach (Product prod in _ProductList)
    {
        ((DataGridViewComboBoxCell)row.Cells[1]).Items.Add(prod.Name);
    }
}

调试我看到 DataGridViewComboBoxCell 的项目设置正确,但是当我查看网格时,组合是空的。

进行不同的测试我意识到如果我在表单加载后设置项目(例如在点击事件中),项目会正常显示。

我应该怎么做才能在表单加载时加载项目?

4

1 回答 1

1

你在什么函数中运行你的 foreach 循环?如果在构造函数中,那可能为时过早。尝试将其移至 Form_Load 或稍后运行的其他处理程序。

我在这里回答了一个关于在列中设置组合框的当前值的问题,您可能会遇到类似的问题。DataSource如果您在控件的生命周期中做得足够晚,我知道设置单元格的工作,因为我在这里做了。

于 2012-02-13T19:16:07.983 回答