datagridview中实时C#列的总和

时间:2017-04-13 04:00:00

标签: c# .net winforms datagridview

enter image description here

我正在使用datagridview。 如何实时获得数量总和。我试过这个:

{{1}}

在RowLeave,CellLeave,CellValueChanged,datagrididated datagridview事件中调用此函数。但它对我不起作用。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

你必须计算Qty列的sun的方法看起来是正确的,但是你在调试器中看到Dt.Compute返回什么?

// Declare an "object"
object sumQty;
sumQty = table.Compute("Sum(Qty)", "");

据我所知,您不需要触发任何事件来计算DataTable中已有的数据。

如果您的问题是如何在插入新数据后触发DataTable更新 - 您需要为正在编辑的单元格处理EndEdit事件。

我希望这是有道理的。

答案 1 :(得分:0)

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.nana.livewire, PID: 2644 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116) at org.json.JSONTokener.nextValue(JSONTokener.java:94) at org.json.JSONObject.<init>(JSONObject.java:156) at org.json.JSONObject.<init>(JSONObject.java:173) at com.example.nana.livewire.BackgroundTask.onPostExecute(BackgroundTask.java:129) at com.example.nana.livewire.BackgroundTask.onPostExecute(BackgroundTask.java:30) at android.os.AsyncTask.finish(AsyncTask.java:660) at android.os.AsyncTask.-wrap1(AsyncTask.java) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:677) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Application terminated. 的{​​{1}}事件似乎是您可能正在寻找的事件。每次单元格值更改时都会触发此事件。触发此事件时,将检查单元格是否更改位于包含我们要求的值的列中。如果我们想要求和的列中已更改的单元格IS,则只需循环遍历列中的值并更新文本框以反映此新的求和值。

以下是我所描述的一个例子。第4列(称为“点”)在列中包含整数值。 DataGridView事件检查单元格是否更改来自“Points”列(第3列),如果是,则更新文本框。

当用户输入新值或更改现有值时...文本框应自动更新以反映这些更改。我希望这是有道理的,适合你。

CellValueChanged