以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分页加载后,Count只统计当前页?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107015)

--  作者:恒隆君
--  发布时间:2017/9/20 10:27:00
--  分页加载后,Count只统计当前页?


\' 刀具编号
Select e.DataCol.Name
    Case "刀具名称"
        If e.DataRow.IsNull("刀具名称") Then
            e.DataRow("刀具编号") = Nothing
        Else
            Dim lb As String = e.DataRow("刀具名称")
            Dim count = e.DataTable.Compute("count(刀具名称)","刀具名称 = \'" & lb & "\'")
            e.DataRow("刀具编号") = lb & "(" & count &  ")"
        End If
End Select

--  作者:恒隆君
--  发布时间:2017/9/20 11:08:00
--  
使用分页加载后,
只统计当前页的 同名刀具数量。
如刀a, 实际有5把,当前页只有1把,
那么,新的刀具编号  刀a(2)
实际应该是 刀a(6)

--  作者:有点甜
--  发布时间:2017/9/20 12:46:00
--  

这样改一下试试

 

Select e.DataCol.Name
    Case "刀具名称"
        If e.DataRow.IsNull("刀具名称") Then
            e.DataRow("刀具编号") = Nothing
        Else
            Dim lb As String = e.DataRow("刀具名称")
            Dim count = e.DataTable.sqlCompute("count(刀具名称)","刀具名称 = \'" & lb & "\'")
            e.DataRow("刀具编号") = lb & "(" & count &  ")"
            e.DataRow.Save
        End If
End Select