Мне нужно изменить цвет ячеек gridview на основе значения данных. Я могу с легкостью сделать это, используя представление datarow в событии Gridviews RowDataBound и инструкции if (см. Ниже), однако мне нужно сделать это на 30 столбцах, которые будут довольно длинными, и боль изменится при изменении бизнес-правил. Как я могу инкапсулировать следующее в метод многократного использования, который я могу вызвать и просто передать в столбце данных и индексе ячейки?Многоразовый метод изменения цвета ячейки сетки
protected void gv1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.DataItem != null)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
int A = Int32.Parse(drv["A"].ToString());
if (A <= 74)
{
e.Row.Cells[2].BackColor = System.Drawing.Color.Red;
}
}
}
Я хотел бы посмотреть при создании перечисления цветов, которые должны быть установлены тогда на основе условий. замените system.Drawing.Color.Red на enum.color drv тоже нужно было бы изменить или потребовалось бы создать массив или список или перечислить, которые также могли бы определять, какие поля должны быть изменены. Даже если бы это было .config driven .. каковы некоторые из бизнес-правил, например .. ?? – MethodMan