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?
感谢您的关注。
感谢您的关注。
我设法找到了我提出的问题的解决方案。
概览:
- I populate rows in
DataGridView
manually by adding row into DataGridView
.
- For
DataGridViewComboBoxCell
object, I use DataSource
to populate the Items instead of adding the Items manually to the
ComboBoxCell.
问题:
每当您 select ComboBox 中的项目时,它都无法在 ComboBox 中呈现 selected 值。只有单击它才会显示该值。
解决方法:
结果在我设置 DataGridViewComboBoxCell
的 DataSource
后的某处代码中,我调用了它的方法 DataGridViewComboBoxCell.Items.Count
。这就是奇怪行为的根源。
不知何故,如果你已经设置了 ComboBoxCell 数据源,并且你调用了 Items.Count 方法,它会显示出奇怪的行为。
我不应该使用 Items.Count
,因为我正在使用 DataSource。 Items.Count 将始终为零,因为数据绑定不会在您设置数据源时立即发生。
希望这篇 post 对以后的其他人有所帮助。谢谢。
我在 WinForm 的 DataGridView 中的组合框列有一个奇怪的问题。
当我 select ComboBox 中的项目时,selected 值不会由 ComboBox 呈现。我需要单击 ComboBox,以便呈现或显示 ComboBox 的 selected 值。否则,ComboBox 只会显示为空。
奇怪的是,这只发生在我在 DataGridView 中的第一个 ComboBox 列中。
换句话说,我在 DataGridView 中的第二个、第三个等组合框列不会发生此问题。
有什么想法吗?会不会是 DataGridView 的 bug?
感谢您的关注。
感谢您的关注。
我设法找到了我提出的问题的解决方案。
概览:
- I populate rows in
DataGridView
manually by adding row intoDataGridView
.- For
DataGridViewComboBoxCell
object, I useDataSource
to populate the Items instead of adding the Items manually to the ComboBoxCell.
问题:
每当您 select ComboBox 中的项目时,它都无法在 ComboBox 中呈现 selected 值。只有单击它才会显示该值。
解决方法:
结果在我设置 DataGridViewComboBoxCell
的 DataSource
后的某处代码中,我调用了它的方法 DataGridViewComboBoxCell.Items.Count
。这就是奇怪行为的根源。
不知何故,如果你已经设置了 ComboBoxCell 数据源,并且你调用了 Items.Count 方法,它会显示出奇怪的行为。
我不应该使用 Items.Count
,因为我正在使用 DataSource。 Items.Count 将始终为零,因为数据绑定不会在您设置数据源时立即发生。
希望这篇 post 对以后的其他人有所帮助。谢谢。