以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  caseStudy\流水帐.table  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8993)

--  作者:xjtg
--  发布时间:2011/1/12 18:51:00
--  caseStudy\流水帐.table
2011-01-05版内容改了,caseStudy\\流水帐.table没改。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:流水账.table


--  作者:狐狸爸爸
--  发布时间:2011/1/12 18:58:00
--  

改了的


--  作者:xjtg
--  发布时间:2011/1/12 22:34:00
--  

我今天下的没有呀,所以才提出。我在下。我又下了,没变。

Select Case e.DataCol.Name
    Case "收入","支出"
        For Each dr As DataRow In e.DataTable.Select("[_SortKey] >= " & e.DataRow("_SortKey"))
            Dim Val1 As Double = e.DataTable.Compute("Sum(收入)","[_SortKey] <= " & dr("_SortKey"))
            Dim Val2 As Double = e.DataTable.Compute("Sum(支出)","[_SortKey] <= " & dr("_SortKey"))
            dr("余额") = Val1 - Val2
        Next
End Select

[此贴子已经被作者于2011-1-12 23:03:39编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/1/13 8:17:00
--  
这一段本来就不需要变的。
--  作者:xjtg
--  发布时间:2011/1/13 18:52:00
--  
Select Case e.DataCol.Name
    Case
"收入",
"支出"
   
    Dim dr As DataRow
       
Dim drs As List(of DataRow)
        dr = e.
DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行
       
If dr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行
            e.
DataRow("余额") = e.DataRow("收入") - e.DataRow("支出")
            dr = e.
DataRow
       
End If
        drs = e.
DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For
i As Integer = 1 To drs.Count - 1
\'重算余下行的余额
            drs(i)(
"余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("支出")
        Next   
End
Select