Ich habe eine Datagridview von einer Datentabelle gebunden. Ich habe eine berechnete Spalten-Linienstückung, die ein Vielfaches der Einheitspreismenge ist.winforms datagridview berechnet Feldwechselereignis
Ich habe auch eine Gesamtpreislabel, die ich möchte die Summe der Linetotal Spalte in der Datagridview enthalten.
Wenn der Benutzer Änderungen am Einzelpreis oder an der Menge vornimmt, sollte das Linetotal für diese Zeile aktualisiert werden, und die Gesamtpreisbezeichnung sollte die Gesamtzeilenspalte summieren.
Ich kann nicht scheinen, das richtige Ereignis zu finden, das verwendet wird, um die Gesamtpreisbezeichnung zu berechnen. Ich habe versucht, cellvaluechanged, currentcelldirtystatechanged, rowleave. Keiner von ihnen scheint richtig zu funktionieren. Ich schätze, ich brauche ein Ereignis, das ausgelöst wird, nachdem alle Linesummenspalten berechnet wurden.
Mein Pseudo-Code:
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
}
Es muss ein Ereignis sein, das ausgelöst wird, wenn der Wert der berechneten Spalte geändert wird.