【问题标题】:Check color of the rows of the datagridview c#检查datagridview c#的行的颜色
【发布时间】:2013-07-24 08:28:29
【问题描述】:

我基本上想检查某行是否包含白色,那么它不应该在 datagridview 中替换,否则如果它包含任何其他颜色,那么可以替换该行中的文本,但我不知道如何检查这种情况下的条件。

这是代码。

private void button9_Click_1(object sender, EventArgs e)
{
  var original = ((DataTable)dataGridView1.DataSource);
  var clone = original.Clone();
  var ordinal = original.Columns["Stringtext"].Ordinal;
  for (int i = 0; i < original.Rows.Count; i++)
  {
     var values = original.Rows[i].ItemArray;
            values[ordinal] = ((values[ordinal].ToString()).ToLower())
                .Replace(textBox6.Text.ToLower(), textBox7.Text);
            clone.Rows.Add(values);
  }
        dataGridView1.DataSource = clone;
        string filterBy;
        filterBy = "Stringtext Like '%" + textBox7.Text + "%'";
        ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = filterBy;
}

有什么想法吗?

【问题讨论】:

  • 请添加颜色部分的信息,上面的代码没有说明为什么它应该有不同的颜色,还有一个CellFormatting事件,您可以根据需要设置格式

标签: c# datagridview colors


【解决方案1】:

要遍历DataGridView 中的所有单元格并检查单元格的背景颜色,您可以执行类似的操作

for (int c = 0; c < dataGridView.ColumnCount; c++)
{
    for (int r = 0; r < dataGridView.RowCount; r++)
    {
        if (dataGridView.DefaultCellStyle.BackColor != Color.White)
            // Do your update here
    }
}

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-05-31
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多