Как осуществить выделение цветом отрицательных элементов в двумерном массиве DataGridView? (C#)
Разрабатывается программа Windows Form.
Есть масив - int [,] a, размерность которого задается пользователем вручную в выделенном диапазоне DataGridView1.RowCount = n;
DataGridView1.ColumnCount = m (по умолчанию, 5x5). Ячейки заполняются рандомными значениями a[i, j] = ran.Next(-20, 50).
Определенная часть массива, после генерации имеет отрицательные значения. Как можно выделить цветом только такие ячейка (со знаком "-")?
Пытался через что-то подобное сделать, только под свои условия, но в большинстве случаев получаю ошибку Оператор "<" невозможно применить к операнду типа "object" и "int".
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[someColumnIndex].Value == 3)
row.Cells[someColumnIndex].Style.BackColor = System.Drawing.Color.Blue;
else if (row.Cells[someColumnIndex].Value == 2)
row.Cells[someColumnIndex].Style.BackColor = System.Drawing.Color.Red;
}
Буду благодарен, если поможете разобраться :)
Ответы (1 шт):
Вы забыли про приведение типов.
foreach (DataGridViewRow row in dataGridView1.Rows)
{
var cell = row.Cells[someColumnIndex];
int number = (int)cell.Value;
if (number == 3)
cell.Style.BackColor = Color.Blue;
else if (number == 2)
cell.Style.BackColor = Color.Red;
}
Упаковка-преобразование и распаковка-преобразование
Кстати, есть способ написать этот код немного проще, но нужен C# 8.0. К сожалению, у вас не указана версия дотнета или языка.