c #Расчет строки Datagridview

У меня есть форма Windows с Datagridview, содержащая данные из XML-файла. DGV настраивается следующим образом :Дата, Продукт, Цена

Есть 10 строк данных.

Я пытаюсь рассчитать изменение цены от одной строки к другой и с трудом нахожу решение. Например:

1/1/12, ABC, $2.00
1/1/12, ABC, $2.50

Net Change:.50

Для столбцов я могу использовать Table.Columns.Expression, но мне неясно, как я могу выполнить этот расчет, вычитая предыдущий против текущего.

Я думал об итерации по столбцам, добавлении в новую таблицу и вычислении ее таким образом, но это похоже на решение sub -par. Как только я получу идентификатор изменения, я хочу добавить его в этот Datagridview.

Не проверял, но примерно так:

if (dataGridView1.Rows.Count > 0)
{
    specifier = "###,###.00";

    double tier1Minus = 0;
    double tier2Minus = 0;

    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        tier1Minus += Convert.ToDouble(dataGridView1.Rows[i].Cells["Price"].Value);

        tier2Minus += Convert.ToDouble(dataGridView1.Rows[i+1].Cells["Price"].Value);
    }

    // then add to dataGridView1
}
5
задан David Hall 9 July 2012 в 19:09
поделиться