datatableからバインドされたdatagridviewがあります。単価*数量の倍数で計算された列のlinetotalがあります。
また、datagridviewのlinetotal列の合計を含めたいtotalpriceラベルもあります。
ユーザーが単価または数量を変更すると、その行のlinetotalが更新され、totalpriceラベルがlinetotal列を合計する必要があります。
合計価格ラベルの計算に使用する正しいイベントが見つからないようです。cellvaluechanged、currentcelldirtystatechanged、rowleaveを試しました。それらのどれも正しく機能していないようです。すべてのlinetotal列が計算された後に発生するイベントが必要だと思います。
私の擬似コード:
dt = getallitems(itemnumber);
dt.Columns.Add("LineTotal", typeof(double));
dt.Columns["Linetotal"].Expression = "[unitprice] * [quantity]";
dgv.DataSource = dt;
private void dgv_WhatEventToUse???(object sender, DataGridViewCellEventArgs e)
{
//method to iterate the rows of the datagridview, and sum linetotal column
}
計算された列の値が変更されたときに発生するイベントが発生する必要があります。