2015-02-11 29 views
0

我在WinForm中的DataGridView中的组合框列有一个奇怪的问题。DataGridView中的组合框WinForm未呈现选定的值

当我从ComboBox中选择项目时,所选值将不会被ComboBox渲染。我需要单击组合框,以便呈现或显示组合框的选定值。如果不是,ComboBox将只显示空白。

奇怪的是这只发生在我的DataGridView的第一个ComboBox列中。

换句话说,在DataGridView中我的第二,第三或其他ComboBox列没有发生这个问题。

任何想法?它可能是一个DataGridView错误?

感谢您的关注。

+0

与往常一样,邮政编码为我们复制问题。 – LarsTech 2015-02-11 00:34:46

+0

你是否在代码中创建组合框? – TaW 2015-02-11 09:26:15

+0

是的。我用代码创建了组合框。 – Hatjhie 2015-02-25 02:04:30

回答

0

感谢您的关注。

我设法找到了我所问的问题的解决方案。

概述:

  1. 我通过添加一行到DataGridView手动填充在DataGridView行。
  2. 对于DataGridViewComboBoxCell对象,我使用DataSource填充项目,而不是手动将项目添加到 ComboBoxCell。

问题:

每当你在下拉框中选择项目时,它无法呈现ComboBox中选择的值。它只会显示值,如果你点击它。

解决方案: 原来代码中的某处后,我设置了DataSourceDataGridViewComboBoxCell的,我叫其方法,DataGridViewComboBoxCell.Items.Count。这是怪异行为的来源。

不知何故,如果你已经设置了ComboBoxCell数据源,并调用了Items.Count方法,它会显示出奇怪的行为。

我不应该使用Items.Count,因为我使用的是DataSource。 Items.Count将始终为零,因为DataBinding在设置DataSource时不会立即发生。

希望这篇文章能帮助未来的其他人。谢谢。