Foxtable(狐表)用户栏目专家坐堂 → [求助]为什么在表达式列显示的数据不能及时改变余额数据??


  共有15980人关注过本帖平板打印复制链接

主题:[求助]为什么在表达式列显示的数据不能及时改变余额数据??

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


加好友 发短信
等级:婴狐 帖子:64 积分:548 威望:0 精华:0 注册:2011/4/18 22:31:00
[求助]为什么在表达式列显示的数据不能及时改变余额数据??  发帖心情 Post By:2011/4/23 19:51:00 [只看该作者]

Select Case e.DataCol.Name
    Case "客户名称","收款","合计"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [客户名称] = '" & mr("客户名称") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("余额") = mr("收款") - mr("合计")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [客户名称] = '" & dr("客户名称") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("余额") = drs(i-1)("余额") + drs(i)("收款") - drs(i)("合计")
        Next
        If e.DataCol.Name = "客户名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [客户名称] = '" & e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[客户名称] = '" & e.OldValue & "'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("余额") = dr("收款") - dr("合计")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [客户名称] = '" & dr("客户名称") & "'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("余额") = drs(i-1)("余额") + drs(i)("收款") - drs(i)("合计")
                Next
            End If
        End If
End Select

 

 

这个是我表的代码,

当我表里填入客户名称时,余额会自动出来,但是后面填入数量和单价,合计是表达式列(数量*单价),里面算出的数字不能及时更改后面的余额(收款-合计) 

我另外一个表的出入库统计直接填入的数字却可以及时改变余额,这个是什么原因呢??


图片点击可在新窗口打开查看此主题相关图片如下:未命名文件.jpg
图片点击可在新窗口打开查看

 

这个是第一张图:填入客户名称自动出现余额



图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

 

这个是第二张图:看合计的数值已经出来,但余额都没有变化


 回到顶部