加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在DataGridView上更改Null / Empty图像的外观

发布时间:2020-12-15 04:13:50 所属栏目:百科 来源:网络整理
导读:我有一个带有几个datagridviews的WinForms应用程序.在其中一个我有一个动态填充图像的列.我在下面列出了一个截图: 许多单元格不符合生成图像的要求,因此看起来是空的.但是,当发生这种情况时,应用程序会显示默认的红色X表示没有图像.我希望单元格显示为空,而
我有一个带有几个datagridviews的WinForms应用程序.在其中一个我有一个动态填充图像的列.我在下面列出了一个截图:

许多单元格不符合生成图像的要求,因此看起来是空的.但是,当发生这种情况时,应用程序会显示默认的红色X表示没有图像.我希望单元格显示为空,而不是显示此默认图像.

我试过创建一个空白图像,但这会导致它自己的问题;也就是说,因为我的datagridview具有交替的行背颜色,所以白色图像显示灰色行,反之亦然.

实际上,我想要一个null / empty或透明图像,当其他一个图像的运行时间要求不满足时,它根本不会在列中显示.

为了完整性,我目前使用的代码如下:

foreach (DataGridViewRow row in dataCaseHistory.Rows)
{                    
    DataGridViewCell cell = row.Cells["DocID"];
    if (cell.Value.ToString().Length > 0)
    {
        if (((int)cell.Value) % 2 == 0)
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Paperclip___done;
        }
        else
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Bundle___done;
        }
    }
    else
    {
         row.Cells["Doc"].Value = null;
    }
}

选择图像的逻辑测试是临时的.我只是试图在应用真实的,更复杂的图像选择标准之前进行设置.

解决方法

试试这个:

在构造函数内部的InitializeComponent()调用之后放这个:

yourGrid.Columns["Doc"].DefaultCellStyle.NullValue = null;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读