我正在使用datagridview。 如何实时获得数量总和。我试过这个:
{{1}}
在RowLeave,CellLeave,CellValueChanged,datagrididated datagridview事件中调用此函数。但它对我不起作用。我怎么能这样做?
答案 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