以文本方式查看主题

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

--  作者:cjl333333333
--  发布时间:2021/7/7 15:28: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

 

 

老师这个代码 适用于用部数据表的流水帐吗?我最近老觉得有点出错,是不是没加载进来的数据他会不执行计算。


--  作者:y2287958
--  发布时间:2021/7/7 15:30:00
--  
现在代码执行就是已加载的数据
--  作者:有点蓝
--  发布时间:2021/7/7 15:30:00
--  
上面只处理已经加载的数据。


--  作者:cjl333333333
--  发布时间:2021/7/7 15:37:00
--  

没办法在这个基础上改为后台数据处理吗,只能用分页加载这种处理是吗?

 


--  作者:有点蓝
--  发布时间:2021/7/7 15:44:00
--  
不分页也可以使用的,这个和分页没有什么直接关系。