[已解決] DataTable 的 Compute 方法結果異常
各位前輩好,這次又有另一個問題了.
我想依照特定條件計算一張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://www.ptt.cc/bbs/C_Sharp/M.1443648934.A.739.html
※ 編輯: chenjoe (175.181.100.129), 10/01/2015 06:13:33
→
10/02 02:39, , 1F
10/02 02:39, 1F
我已經用逐步執行並把物件加入監看式把問題解決了,程式碼截圖如下...
主程式---
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
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章