数据绑定值为空时如何在 DataGridViewComboBoxColumn 中显示文本
Posted
技术标签:
【中文标题】数据绑定值为空时如何在 DataGridViewComboBoxColumn 中显示文本【英文标题】:How to display text in DataGridViewComboBoxColumn when the databound value is null 【发布时间】:2012-07-02 13:30:03 【问题描述】:我有一个带有 DataGridViewComboBoxColumn 的数据绑定 DataGridView。如果组合框值为 null 我想显示一个文本。我不想在数据绑定列表中添加一个空项,因为我需要在每个 datagridview 行中显示不同的文本。 我如何使用默认的 datagridview 控件来实现这一点?
【问题讨论】:
【参考方案1】:您可以使用 CellFormatting 事件来更改任何显示的值:
//attach in code or via designer:
dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
//example implementation:
void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
if (e.ColumnIndex == Column1.Index && e.Value==null)//where Column1 is your combobox column
e.Value = "Empty";
e.FormattingApplied = true;
【讨论】:
如果我将值更改为不在数据绑定列表中的值,则会出现错误。 还有其他想法吗?问题是 DataGridViewComboBoxCell 没有文本属性。该值是数据绑定的,因此无法为其分配文本。 如果e.FormattingApplied = true,你可以试试它是否有效;设置? (还编辑了原始帖子以添加它) 啊啊啊啊啊,我的错。我试图直接为单元分配一个值,而不是通过 EventArgs。做你写的就像一个魅力!非常感谢。以上是关于数据绑定值为空时如何在 DataGridViewComboBoxColumn 中显示文本的主要内容,如果未能解决你的问题,请参考以下文章