2013-07-24 63 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 
    } 
} 

我希望這有助於。