5

xmlファイルからのデータを含むDatagridviewを含むWindowsフォームがあります。DGVは次のように設定されています:日付、製品、価格

10行のデータがあります。

ある行から次の行への価格の変化を計算しようとしていますが、解決策を見つけるのに苦労しています。例えば:

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

Net Change: .50

列全体でTable.Columns.Expressionを使用できますが、前の計算と現在の計算を差し引いてこの計算を行う方法がわかりません。

列を反復処理し、新しいテーブルに追加してそのように計算することを考えましたが、標準以下のソリューションのようです。変更を取得したら、それをその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
}
4

1 に答える 1

3

(テストされていない)のようなことをしてみませんか:

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

または、ファイルからデータを初めてインポートして行を挿入するときに計算します。

于 2012-07-09T18:45:34.857 に答える