Как вычислить и выделить значения DataGridView в C#

В этом примере показано, как вычислять и выделять значения DataGridView во время выполнения. Он использует следующий код для инициализации элемента управления DataGridView. Он устанавливает описание каждого элемента, цену единицы и количество, но не его общую стоимость.

// Создание некоторых элементов данных.
dgvValues.Rows.Add(new object[] { "Pencils, dozen", 1.24m, 4 });
dgvValues.Rows.Add(new object[] { "Paper, ream", 3.75m, 3 });
dgvValues.Rows.Add(new object[] { "Cookies, box", 2.17m, 12 });
dgvValues.Rows.Add(new object[] { "Notebook", 1.95m, 2 });
dgvValues.Rows.Add(new object[] { "Pencil sharpener", 12.95m, 1 });
dgvValues.Rows.Add(new object[] { "Paper clips, 100", 0.75m, 1 });

Затем код вызывает следующий метод CalculateTotals для вычисления общих затрат элементов.

// Рассчитайте общие затраты и
// выделяем итоговые суммы более $ 9.99.
private void CalculateTotals()
{
    // Создаем стиль для значений, превышающих $ 9.99.
    DataGridViewCellStyle highlight_style =
        new DataGridViewCellStyle();
    highlight_style.ForeColor = Color.Red;
    highlight_style.BackColor = Color.Yellow;
    highlight_style.Font =
        new Font(dgvValues.Font, FontStyle.Bold);

    // Рассчитаем общие затраты.
    foreach (DataGridViewRow row in dgvValues.Rows)
    {
        // Вычислить общую стоимость.
        decimal total_cost =
            (decimal)row.Cells["PriceEach"].Value *
            (int)row.Cells["Quantity"].Value;

        // Отображение значения.
        row.Cells["Total"].Value = total_cost;

        // Выделите ячейку, если vcalue большой.
        if (total_cost > 9.99m)
            row.Cells["Total"].Style = highlight_style;
    }
}

Этот метод создает DataGridViewCellStyle, который будет использоваться для выделения ячеек с большими суммами затрат. Затем он перебирает строки, устанавливающие запись каждой строки Total.

Обратите внимание, что код использует имена столбцов в качестве индексов. Имена столбцов были установлены во время разработки, когда я определил столбцы. Код может использовать индексы столбцов, но это легче читать и будет работать, если вы измените порядок столбцов.

Источник: http://csharphelper.com/blog/2014/09/calculate-and-highlight-datagridview-values-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector