[已解決] DataTable 的 Compute 方法結果異常

看板C_Sharp (C#)作者 (MAKOTO)時間9年前 (2015/10/01 05:35), 9年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
各位前輩好,這次又有另一個問題了. 我想依照特定條件計算一張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
請問有exception的細節或截圖嗎?或提供完整code板友較易判斷
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
文章代碼(AID): #1M35McSv (C_Sharp)
文章代碼(AID): #1M35McSv (C_Sharp)