繁体   English   中英

C# DataGrid 单元格 - 更改行前景色 IF

[英]C# DataGrid Cell - Change row forecolor IF

如果该行中的单元格包含“警告”一词,我正在尝试更改数据网格中特定行的前景色。

 foreach (DataGridViewRow row in inclog.Rows)
        {
            if (inclog.SelectedCells[5].Value.ToString() == "WARNING")
            {

                inclog.SelectedRows[1].DefaultCellStyle.ForeColor = Color.Red;

            }
        }

我正在尝试更改代码,添加和删除位,但似乎无法做到。

似乎与问题中的文字内容和代码正在做什么完全脱节。 发布的代码并没有真正的意义,我会假设问题中的文字所说的就是你想要的。 因此,下面的解决方案将执行文本中描述的操作……

“如果该行中的单元格包含单词“WARNING”,我正在尝试更改数据网格中特定行的前景色。”

我能理解的是,对于网格中的“每一”行,如果该行中的一个单元格包含“警告”一词,那么,您希望将该行中的前景色(文本)设置为红色。 如果这是正确的,那么下面的代码应该可以工作。

在代码中,我们循环遍历网格中的每个“行”(如果存在则忽略“新”行),然后再循环遍历该行中的每个“单元格”。 检查该单元格文本是否包含“警告”一词。 如果单元格包含“警告”一词,则代码将该行的前景色设置为红色。 然后“中断”出“单元”循环,因为我们不需要进一步检查文本“警告”。

foreach (DataGridViewRow row in inclog.Rows) {
  if (!row.IsNewRow) {
    foreach (DataGridViewCell cell in row.Cells) {
      if (cell.Value != null && cell.Value.ToString().Contains("Warning")) {
        row.DefaultCellStyle.ForeColor = Color.Red;
        break;
      }
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM