Как подсчитать цветную ячейку в datagridview?
Я работаю над приложением WinForm на основе доступа. У меня есть цветная ячейка(DateColumn) в моем DataGridView. Я пытаюсь подсчитать эти ячейки и отразить цветной номер ячейки в тексте этикетки. Мои коды выглядят следующим образом:
private void metroGrid1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (this.metroGrid1.Columns[e.ColumnIndex].DataPropertyName == "Date 1") try { var EMIDate1 = Convert.ToDateTime(metroGrid1.Rows[e.RowIndex].Cells["date1DataGridViewTextBoxColumn"].Value); if (EMIDate1 <= DateTime.Today) { e.CellStyle.BackColor = Color.DarkRed; e.CellStyle.ForeColor = Color.White; int countDarkRed = 0; for (int i = 0; i < metroGrid1.RowCount; i++) { if (e.CellStyle.BackColor == Color.DarkRed) ++countDarkRed; labelEMI.Text = "Total EMI due as on today:" + countDarkRed; } } } catch { } }
Что я уже пробовал:
Я попробовал приведенный выше код, но эти коды подсчитывают строки DataGridView всякий раз, когда добавляется новая строка.Он увеличивает номер на 1.
Gerry Schmitz
Какую "логику" вы используете для раскрашивания в первую очередь? В противном случае, как вы узнаете, какие цвета искать?
Giorgio Orizio
Логика, которую он использует, основана на дате. Если дата прошла сегодня, то она становится темной. Согласно опубликованному кодексу.
Giorgio Orizio
Лично я бы основал этот расчет на EMIDate1, а не на цвете.