Форматирование строк в Datagridview на основе данных - PullRequest
0 голосов
/ 21 декабря 2009

У меня есть DataGridView, связанный с BindingSource. Каждая строка имеет три поля: Name, StartDate, EndDate. В другом месте в моей форме, у меня есть элемент управления DateTimePicker.

Когда дата DateTimePicker находится между начальной и конечной датами строки, я хочу выделить эту строку. Но я не могу понять, как это сделать. Кто-нибудь может дать мне отправную точку?

Ответы [ 2 ]

1 голос
/ 10 сентября 2013

Если вам нужно выделить всю строку, то вы можете использовать свойство DefaultCellStyle для каждой строки, либо в цикле ForEach, либо вы можете использовать событие CellFormatting, как показано ниже:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Error")
    {
        if (e.Value != null && e.Value.ToString() == "1")
        {
             dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;
        }
    }
}
0 голосов
/ 21 декабря 2009

Вы хотите выделить все строки, которые удовлетворяют условию?

Вы можете просматривать строку за строкой, чтобы увидеть, какие строки удовлетворяют условию при каждом изменении значения DTP.

Затем для каждой ячейки в этих строках измените DataGridViewCell.Style, однако вы хотите выделить строки. Для каждой ячейки в строке, которая не удовлетворяет ограничению, задайте для DataGridViewCell.Style значение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...