【问题标题】:Changing text color of specific column based on value of cell in datagridview根据datagridview中单元格的值更改特定列的文本颜色
【发布时间】:2019-11-04 21:05:11
【问题描述】:

我正在尝试在我的 datagridview 中选择 Pass_Fail 列并遍历其中的所有单元格。如果单元格包含“通过”,我会将单元格的背景颜色更改为绿色,如果它包含“失败”,我会将颜色更改为红色。我还使用绑定源来检索数据以填充 datagridview 单元格。我整天都在试图解决这个问题,我们将不胜感激。

谢谢

field 1    field 2     field3     Pass_Fail    field5
value1     value2      value3     Pass         value5
value1     value2      value8     Fail         value5

【问题讨论】:

标签: c# winforms datagridview bindingsource


【解决方案1】:

一个源自https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.datagridview.cellformatting?view=netframework-4.8的例子

这将是一个示例,说明如何使用 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;
            }
        }

【讨论】:

  • 谢谢!看起来我以错误的方式处理这个问题
猜你喜欢
  • 2023-04-06
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-23
  • 2015-06-11
  • 1970-01-01
相关资源
最近更新 更多