【问题标题】:ComboBox in DataGridView WinForm not rendering selected valueDataGridView WinForm 中的 ComboBox 未呈现所选值
【发布时间】:2015-02-11 00:26:27
【问题描述】:

我在 WinForm 中的 DataGridView 中的 ComboBox 列有一个奇怪的问题。

当我从 ComboBox 中选择项目时,ComboBox 不会呈现所选值。我需要单击 ComboBox 以便呈现或显示 ComboBox 的选定值。如果没有,ComboBox 将显示为空。

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

换句话说,我在 DataGridView 中的 Second、Third 或 etc ComboBox Column 不会发生此问题。

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

感谢您的关注。

【问题讨论】:

  • 一如既往,为我们提供重复问题的代码。
  • 您是否在代码中创建组合框?
  • 是的。我在代码中创建了组合框。

标签: c# winforms datagridview combobox


【解决方案1】:

感谢您的关注。

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

概述:

  1. 我通过在DataGridView 中添加行来手动填充DataGridView 中的行。
  2. 对于DataGridViewComboBoxCell 对象,我使用DataSource 填充项目,而不是手动将项目添加到 组合框单元格。

问题:

当您在 ComboBox 中选择项目时,它无法在 ComboBox 中呈现所选值。只有单击它才会显示该值。

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

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

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

希望这篇文章能在未来对其他人有所帮助。谢谢。

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 2015-09-20
    • 2015-11-14
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2021-11-03
    • 2011-11-14
    相关资源
    最近更新 更多