2013-04-04 6 views
3

Я пытаюсь сделать это приложение Windows, где вы можете зарегистрировать участников гимнастики и их ежемесячные платежи. У меня есть этот DataGridView, где он отображает некоторые свойства элемента, а один из них - поле STATUS. В этом поле содержится слово PAID или UNPAID (который назначается из некоторого кода, если член платил или нет). Теперь то, что я хочу сделать, это: Если поле Status является UNPAID, я хочу, чтобы эта строка была RED (цвет фона). Это возможно ? Если да, то как я могу это сделать?Назначение цвета в строке DataGridView

+0

Это может помочь: http://stackoverflow.com/questions/4067068/conditional-datagridview-formatting – ken2k

+0

пожалуйста, проверьте эту ссылку думаю, что это также помощь у [http://stackoverflow.com/questions/2189376/с-острым, как к изменению-рядного цвет-в-DataGridView] [1] [1]: http://stackoverflow.com/questions/2189376/c-sharp- how-to-change-row-color-in-datagridview –

ответ

1

Для DataGridView называется dgv. Попробуйте что-нибудь вроде

foreach (DataGridViewRow row in dgv.Rows) 
{ 
    if (row.Cells["STATUS"].Value != null && 
     row.Cells["STATUS"].Value.ToString().CompareTo("UNPAID") == 0) 
    { 
     row.Cells["STATUS"].Style.BackColor = Color.Red; 
    } 
    else 
    { 
     row.Cells["STATUS"].Style.BackColor = Color.Green; 
    } 
} 

Это окрасит ваши ячейки «UNPAID» красным, а остальные - зеленым. Это предполагает, что вы имеете только доступные значения.

Надеюсь, это поможет.

Редактировать. Для того, чтобы окрасить всю строку, вы можете использовать row.DefaultCellStyle.BackColor = Color.Red и т.д.

+0

Я действительно хотел, чтобы вся строка была красной, но это выглядит лучше! Спасибо :) Приветствия –

+0

Прохладный. Рад, что смог помочь. См. Редактирование для раскраски всей строки ... – MoonKnight

1

Я думаю, вы должны Переберите строки в сетке ракурсе, а затем сравнить значение:

foreach (DataGridViewRow row in grid.Rows) 
    if (row.Cells["STATUS"].Value =="UNPAID") 
    { 
     row.DefaultCellStyle.BackColor = Color.Red; 
    } 
0

что вы могли бы сделать, это установить цвет ячеек в строке на красный, как это:

foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    if (row.Cells["STATUS"].Value =="UNPAID") 
     row.DefaultCellStyle.BackColor = Color.Red; 
} 

Wich бы установить ряд ячеек, где значение статуса неоплачивается до красного.

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