作者chenjoe (MAKOTO)
看板C_Sharp
标题[问题] DataTable 的 Compute 方法结果异常
时间Thu Oct 1 05:35:30 2015
各位前辈好,这次又有另一个问题了.
我想依照特定条件计算一张DataTable的总和值,Table的格式大致如下
[金额] [借/贷]
50 借
80 贷
25 借
30 贷
我想把借方金额跟贷方金额分别加总後计算"借方总和 - 贷方总和"的结果
程式码如下
public void BalanceCount(DataTable dt, Label lbl_balance)
{
//分别计算借贷双方总和
object sum_d = dt.Compute("Sum(金额)", "[借/贷] = '借'");
object sum_c = dt.Compute("Sum(金额)", "[借/贷] = '贷'");
//若借贷其中一方为空值则设定为0
if (sum_d.ToString() == "") sum_d = (decimal)0;
if (sum_c.ToString() == "") sum_c = (decimal)0;
//计算借贷平衡
lbl_balance.Text = ((decimal)sum_d - (decimal)sum_c).ToString();
}
因为这段是写在修改完Table之後把它丢进这个方法里做处里
可是每次我改完借或贷的值重新计算都会出现异常
异常的点是在Compute判断条件的时候--
新增与删除(借贷於新增时直接指定) -> 正常
只改金额 -> 正常
只改借贷 -> 没有反应
用逐步执行监看DataTable里的值是没有问题顺利变更的
还是说应该用别种方法来做判断呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.181.100.129
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1443648934.A.739.html
※ 编辑: chenjoe (175.181.100.129), 10/01/2015 06:13:33
1F:→ CiC: 请问有exception的细节或截图吗?或提供完整code板友较易判断 10/02 02:39
我已经用逐步执行并把物件加入监看式把问题解决了,程式码截图如下...
主程式---
http://i.imgur.com/hDA5M6t.jpg
自订方法---
http://i.imgur.com/hOddUMl.jpg
重点在主程式码红色框起来的部份,要修改的是DataTable里指定为
datagridview里选中的位置里Item的内容(我知道听起来很绕口= =)
改完至之後再把Table丢进自订方法里做计算就好了.
※ 编辑: chenjoe (175.181.100.129), 10/03/2015 15:35:01
※ 编辑: chenjoe (175.181.100.129), 10/03/2015 15:35:56
※ 编辑: chenjoe (175.181.100.129), 10/03/2015 15:36:36