-- 作者:nxqtxwz
-- 发布时间:2020/4/11 17:41:00
-- 全部记录下的统计
请问老师,下面的代码如果表是在筛选状态下,则统计的是筛选结果中的数据。如何做到不管表处于筛选还是全部记录状态下,都按全部记录来统计呢?
Select Case e.DataCol.Name Case "当前状态" Dim pr As DataRow If e.OldValue > "" pr = DataTables("控辍统计").Find("当前状态 = \'" & e.OldValue & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If If e.NewValue > "" pr = DataTables("控辍统计").Find("当前状态 = \'" & e.NewValue & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If Case "年龄","建档立卡","本在本","本在外","辍学原因" Dim pr As DataRow pr = DataTables("控辍统计").Find("当前状态 = \'" & e.DataRow("当前状态") & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If
|
-- 作者:nxqtxwz
-- 发布时间:2020/4/11 18:23:00
--
统计这部分太复杂了,我加了两行代码解决不了问题。
还是按照当前加载的数据来统计的。
Select Case e.DataCol.Name \'此代码进行统计 Case "当前状态" Dim pr As DataRow Dim g As New Cro ssTableBu ilder("控辍统计", DataTables("控辍保学")) g.Fr omSer ver = True If e.OldValue > "" pr = DataTables("控辍统计").Fin d("当前状态 = \'" & e.OldValue & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If If e.NewValue > "" pr = DataTables("控辍统计").Fin d("当前状态 = \'" & e.NewValue & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If Case "年龄","建档立卡","本在本","本在外","辍学原因" Dim pr As DataRow Dim g As New CrossTableBuilder("控辍统计", DataTables("控辍保学")) g.Fr omSer ver = True pr = DataTables("控辍统计").Fin d("当前状态 = \'" & e.DataRow("当前状态") & "\'") If pr IsNot Nothing Then DataTables("控辍统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End Select
|