DataGridView WinForm 中的 ComboBox 不呈现所选值

ComboBox in DataGridView WinForm not rendering selected value

我在 WinForm 的 DataGridView 中的组合框列有一个奇怪的问题。

当我 select ComboBox 中的项目时,selected 值不会由 ComboBox 呈现。我需要单击 ComboBox,以便呈现或显示 ComboBox 的 selected 值。否则,ComboBox 只会显示为空。

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

换句话说,我在 DataGridView 中的第二个、第三个等组合框列不会发生此问题。

有什么想法吗?会不会是 DataGridView 的 bug?

感谢您的关注。

感谢您的关注。

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

概览:

  1. I populate rows in DataGridView manually by adding row into DataGridView.
  2. For DataGridViewComboBoxCell object, I use DataSource to populate the Items instead of adding the Items manually to the ComboBoxCell.

问题:

每当您 select ComboBox 中的项目时,它都无法在 ComboBox 中呈现 selected 值。只有单击它才会显示该值。

解决方法: 结果在我设置 DataGridViewComboBoxCellDataSource 后的某处代码中,我调用了它的方法 DataGridViewComboBoxCell.Items.Count。这就是奇怪行为的根源。

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

我不应该使用 Items.Count,因为我正在使用 DataSource。 Items.Count 将始终为零,因为数据绑定不会在您设置数据源时立即发生。

希望这篇 post 对以后的其他人有所帮助。谢谢。