2013-07-24 2 views
1

Я в основном хочу проверить, не содержит ли определенная строка белый цвет, но не следует заменять в datagridview, иначе, если он содержит любой другой цвет, тогда текст в этой строке можно заменить, но Я не знаю, как проверить это условие в этом сценарии.Проверить цвет строк datagridview C#

Это код.

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

Я надеюсь, что это помогает.

Смежные вопросы