Мне нужно чередовать цвета строк в сетке, но не в каждой другой строке. У меня есть переменная _AddDate, которую я могу проверить на событие GridRowBound. Если он не изменился, я хочу применить один класс CSS, а если он есть, я хочу применить другой класс. Код, который я имею, делает почти то, что я хочу, но я устанавливаю класс в строке, когда значение изменяется, и к каждой параллельной строке, которая должна быть того же класса, применен неправильный класс. Это определенно что-то не так с моим методом. Может кто-то указать мне верное направление? Также есть название для этих типов функций. Время от времени мне приходится делать такие вещи, и они могут быть хитрыми, чтобы выяснить правильный алгоритм. Вот что у меня есть.
private void GridRowBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.CssClass = SetRowColor();
}
}
private DateTime _dateToSwitch;
private string SetRowColor()
{
var tmpDate = _AddDate;
var doSwitch = (tmpDate == _dateToSwitch);
if (!doSwitch)
{
_dateToSwitch = tmpDate;
return "commentRow";
}
return "altCommentRow";
}
У меня есть другая функция, которая правильно устанавливает _AddDate на соответствующее значение, поэтому оно всегда актуально при оценке.
Любая помощь приветствуется. Счастливая пятница!
Ура,
~ ck в Сан-Диего