数据绑定值为空时如何在 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 中显示文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在值为空时更新,否则在下一行更新

gson实体转json时当字段值为空时,json串中就不存在该属于,请问如何在值为空的时候也保留该字符串

当 WPF 中的绑定为空时,如何避免 xaml 警告?

值为空时Chrome中的HTML输入光标位置问题

当值为空或为空时如何返回默认值

Webi - 当另一列值为空时隐藏中断中的列