我有一个带有多个数据网格视图的 WinForms 应用程序。在其中一个上,我有一个动态填充图像的列。我在下面包含了一个屏幕截图:
许多单元格不符合生成图像的要求,因此显示为空。但是,当这种情况发生时,应用程序会显示默认的红色 X 表示没有图像。我希望单元格简单地显示为空,而不是显示此默认图像。
我试过创建一个空白图像,但这会导致它自己的问题;即,因为我的 datagridview 具有交替的行背景颜色,所以白色图像显示在灰色行上,反之亦然。
实际上,我想要一个空/空或透明图像,当不满足其他图像之一的运行时间要求时,它根本不会显示在列中。
为了完整起见,我目前使用的代码如下:
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;
}
}
选择图像的逻辑测试是临时的。我只是想在应用真正的、更复杂的图像选择标准之前进行设置。