Foxtable(狐表)用户栏目专家坐堂 → [求解析]列表达式出现错误对话框


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

主题:[求解析]列表达式出现错误对话框

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13914 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2012/4/7 12:45:00 [显示全部帖子]

1 你的收入列原来是表达式列,应改为普通数据列

2 修改代码 :  如果支出,数值1,数值2 变化时重新计算

Select Case e.DataCol.Name
    Case "支出","数值1","数值2"
       
        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("数值1") * e.DataRow("数值2")
           
            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 '重算余下行的收入 余额
            e.DataRow("收入") = e.DataRow("数值1") * e.DataRow("数值2")
            drs(i)("收入") = drs(i)("数值1") * drs(i)("数值2")
            drs(i)("余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("支出")
        Next
End Select


 回到顶部