AfterLoad
tv.BuildTree("考试数据表", "日期|起始时间")
-------------------
取得筛选条件,报表代码自己学习专业报表去写。
Dim tj,Filter,bdm,xh As String '定义几个字符串变量
If e.Form.Controls("加载条件").text = "" '若加载条件这个文本框的值为空
Filter = "" '则filter也为空
Else '否则
tj = e.Form.Controls("加载条件").text 'tj等于加载条件这个文本框的值
tj = tj.Replace(vbcrlf,";").Replace(Chr(10),"").Replace(Chr(13),";").Replace(chr(-23636),",")
'规范条件按格式,就是将一些回车替换为逗号分号之类的
Dim Values(),Value2s() As String '定义2个字符串的数组
Values = tj.split(";") 'values是将tj通过分号来分割
For Index As Integer = 0 To Values.Length - 1 '遍历这个数组
bdm = Values(Index).split("/")(0)
'bdm的值等于values数组里每个值通过斜杠分割后的第一个值,比如 values数组里的当前值是 11\22 那么bdm就等于11
xh = Values(Index).split("/")(1)
'xh的值等于values数组里每个值通过斜杠分割后的第二个值,比如 values数组里的当前值是 11\22 那么xh就等于22
If xh = "all" '若xh不等于all
Filter = Filter & " or 日期 = '" & bdm & "'" '将分割出来的值组成filter
Else
Value2s = xh.split(",")
'value2这个数组是通过xh经过逗号分割而得到的数组
For i As Integer = 0 To Value2s.Length - 1
'遍历这个value2数组
Filter =Filter & " or 起始时间 = '" & Value2s(i) & "'"
'将遍历的值合成为filter
Next '结束遍历value2s的数组
End If '结束对xh不等于all的判断
Next '结束对values的数组遍历
End If
If Filter > "" Then
Filter = "$" & Filter
Filter = Filter.Replace("$ or ","")
msgbox(filter)
DataTables("考试数据表").LoadFilter = Filter '把得到的filter作为jbxx的加载条件
Else
DataTables("考试数据表").LoadFilter = ""
End If
DataTables("考试数据表").Load
[此贴子已经被作者于2015/6/14 10:00:49编辑过]