Foxtable(狐表)用户栏目专家坐堂 → 第一行的期末值 作为第二行的期初值,以此类推


  共有5010人关注过本帖树形打印复制链接

主题:第一行的期末值 作为第二行的期初值,以此类推

帅哥哟,离线,有人找我吗?
zcgmxf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/8/29 14:43:00 [显示全部帖子]

还是要用高效率流水账计算

在表的 DataColChanged  事件中试一下下面的代码


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("期初额") = 0
            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)("期末额")
        Next    
End Select

 回到顶部