0

我在 datagridview 中有两个组合框列,并尝试根据第一个中选择的内容为第二个设置数据源。

不幸的是,没有太多运气。我正在尝试处理两个事件:CellBeginEdit 和 PopupClosing,尽管我认为第一个事件就足够了。

这个问题的奇怪之处在于,我没有让comboboxcolumn单元格显示正确的成员集合,而是让它们显示我在这个datagridview中打开的最后一个comboboxcolumn的数据源,甚至认为在调试期间我可以看到数据源属性组合框单元格设置为我想要的。

这是我的代码:

switch ((JobType)(Enum.Parse(typeof(JobType), dgvScheduledJobs.Rows[e.RowIndex].Cells[dgvColumnJobType.Index].Value.ToString())))
{
    case JobType.Upload:
        {
            (this.dgvScheduledJobs[this.dgvColumnSource.Index, e.RowIndex] as DataGridViewComboBoxCell).DataSource = _datasources;
            break;
        }
    case JobType.Extract:
        {
            (this.dgvScheduledJobs[this.dgvColumnSource.Index, e.RowIndex] as DataGridViewComboBoxCell).DataSource = _queries;
            break;
        }
    default:
        {
            break;
        }
}

任何帮助或建议将不胜感激。

更新:

对不起大家。问题是由于我们使用了派生自 DataGridViewoComboBoxColumn 的类,我们在其中覆盖了 DataGridViewComboBoxCell 中使用的控件。所以这是我们制造的问题。

一般来说,我认为上述方法应该可行。

4

1 回答 1

0

这听起来像是 DataGrid 的刷新问题。看看这个帖子。

于 2013-08-05T17:07:37.953 回答