系统筛选树利用Ctrl多选后,无法控制条件加载(用户只加载“数学”)。点击显示所有,代码统计分数分布只显示一个科目(数学),正常;选择任何一个年级,正常;
利用Ctrl,把三四年级多选后,筛选内容正常,统计结果就不正常,会把语文、数学、英语三科全统计出来(因为设定用户只加载“数学”,不应该把语文和英语全统计出来)。
(如果选择三年级,再按住Ctrl选四年级,筛选内容正常,但统计出来三年级正常(只有数学),四年级语文和英语也跑出来了;如果选择四年级,再按住Ctrl选三年级,
筛选内容正常,但统计出来四年级正常(只有数学),三年级语文和英语也跑出来了。
看来问题是出在利用Ctrl选择上。)
此主题相关图片如下:系统筛选树.png
b.FIlter = DataTables("自测成绩表").loadFIlter
If Tables("自测成绩表").FIlter > "" Then '是否要加一个利用Ctrl多选条件 ?
b.FIlter = IIF(b.FIlter > "", b.FIlter & " and ","") & Tables("自测成绩表").FIlter
End If
b.Groups.AddDef("学校")
b.Groups.AddDef("年级")
b.Groups.AddDef("班级")
b.Groups.AddDef("学科")
b.Groups.AddDef("单元")
b.Groups.AddDef("教师")
b.Groups.AddDef("年度")
b.Groups.AddDef("学期")
b.Groups.AddDef("排序")
b.Totals.AddExp("人数","分数","",AggregateEnum.Count) '统计人数
Dim zf As object = TopToolBar.Items("学科总分").Value
If zf > 0 Then
b.Totals.AddExp("分数分布_"& (50 * zf/100) &"以下","Case When 分数 < " & (50 * zf/100) & " Then 1 Else 0 End")
b.Totals.AddExp("分数分布_" & (60 * zf/100) & "-"& (50 * zf/100) &"","Case When 分数 >= " & (50 * zf/100) & " And 分数 < " & (60 * zf/100) & " Then 1 else 0 End")
b.Totals.AddExp("分数分布_" & (70 * zf/100) & "-"& (60 * zf/100) &"","Case When 分数 >= " & (60 * zf/100) & " And 分数 < " & (70 * zf/100) & " Then 1 else 0 End")
[此贴子已经被作者于2020/12/25 22:56:08编辑过]