c# - 根据datagridview中单元格的值更改特定列的文本颜色
问题描述
我正在尝试Pass_Fail
在我的 datagridview 中选择列并遍历其中的所有单元格。如果单元格包含“通过”,我会将单元格的背景颜色更改为绿色,如果它包含“失败”,我会将颜色更改为红色。我还使用绑定源来检索数据以填充 datagridview 单元格。我整天都在试图解决这个问题,我们将不胜感激。
谢谢
field 1 field 2 field3 Pass_Fail field5
value1 value2 value3 Pass value5
value1 value2 value8 Fail value5
解决方案
这将是一个示例,说明如何使用 datagridview 控件上的 CellFormatting 事件针对您的情况实现它:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if(this.dataGridView1.Columns[e.ColumnIndex].HeaderText.Equals("Pass_Fail"))
{
if (e.Value.Equals("Pass"))
e.CellStyle.BackColor = Color.Green;
else if (e.Value.Equals("Fail"))
e.CellStyle.BackColor = Color.Red;
else
e.CellStyle.BackColor = this.dataGridView1.DefaultCellStyle.BackColor;
}
}
推荐阅读
- c# - 为什么 HttpClientHandler 没有正确选择和使用默认代理设置?
- sql - 当 ServiceId 改变时给出 DateEnd
- macos - 如何使用命令行工具替换 Unix/MacOS 上由多行正则表达式搜索模式选择的文件中的字符串
- javascript - 是否可以在 JavaScript 中使用创建的图像设置 backgroundImage?
- bash - 不允许重音符号的正则表达式
- r - 当按多列分组时,如何在 dplyr 中命名 group_split 列表
- php - 如何使用 substr 和 strrpos 来清除特定字符后的字符串?
- django - SAML - Django 中的服务提供者
- node.js - Redis 连接到 EB 实例内部,但不会与已部署的sailsjs 应用程序连接
- jquery - GET 方法有效,DELETE 方法抛出 400