2013-07-24 66 views
1

我基本上想检查某一行是否包含白色,然后它不应该在datagridview中替换,否则如果它包含任何其他颜色,那么该行中的文本可以被替换,但是在这种情况下我不知道如何检查这种情况。检查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; 
} 

有什么想法?

+0

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

回答

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 
    } 
} 

我希望这有助于。