首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DataGridView的CellFormatting问题

DataGridView的CellFormatting问题
EN

Stack Overflow用户
提问于 2020-07-22 04:32:37
回答 2查看 119关注 0票数 0

我有一个用从几个表中提取的数据填充的DataGridView (我使用的是SQLite,但我不认为这与这里相关)。列(11)中的一列可以具有值或可以为空。如果有值,我想将行显示为绿色,如果没有值,则不执行任何操作。我在CellFormatting中使用了以下代码来执行此操作:

代码语言:javascript
运行
复制
private void dgv_CellFormatting(Object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 11)
    {
        if (!String.IsNullOrEmpty(dgv.Rows[e.RowIndex].Cells[11].Value.ToString()))
        {
            dgv.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Green;
        }
    }
}

如果第一行的第11列中没有值,则此方法非常有效,但如果有,则无论第11列中是否有值,整个DataGridView都将显示为绿色。

提前感谢您的帮助。

EN

Stack Overflow用户

发布于 2020-07-22 05:26:21

空条件运算符"?“在这种情况下可能会有所帮助。添加?after值(参见下面的代码片段,我已经更新了它)。

代码语言:javascript
运行
复制
if(!String.IsNullOrEmpty(dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value?.ToString()))
{
   dgv.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Green;
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63022647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档