Dim Filter As String = "1=2" '直接为变量赋值,为什么值是1=2呢,就是要这个值不成立,因为1不等于2,相当于"否"的意思
Dim val As String = e.Form.Controls("textbox2").Text '定义一个变量是输入在控件textbox1的值
If val <> "" Then '但textbox1控件的值大于空白时,执行下面代码
For Each c As DataCol In DataTables("智能AI数据_Table2").DataCols '遍历语句,遍历地区表的所有列
DataTables("智能AI数据_Table2").LoadPage = 0 '重点:直接加载地区表的第一页,这样下面的模糊筛选才可以从第一页开始筛选所有数据
Filter = Filter & " Or Convert(varchar(100), " & c.name & ") Like '%" & val & "%' " '这句Filter & = "xxx"的意思是Filter = Filter & "xxx" 的简写,这句就是:筛选条件里的条件,这句话的含义就是把每一列列转换成字符串再用Like语句'%" & val & "%'意思是:筛选出所有列中包含"控件textbox1的值"
Next
End If
If filter IsNot Nothing Then '当Filter不等于空白时
DataTables("智能AI数据_Table2").LoadPage = 0 '加载第一页
DataTables("智能AI数据_Table2").LoadOver = "_Identify" '以日期列
DataTables("智能AI数据_Table2").LoadReverse = True '启用日期列倒序加载
DataTables("智能AI数据_Table2").LoadFilter = filter '在筛选条件里的条件等于上面的:筛选条件里的条件
DataTables("智能AI数据_Table2").Load(False) '重新加载按照:筛选条件里的条件来加载
End If
Tables("智能AI数据_Table2").AutoSizeCols() '自适应所有列的宽度
Tables("智能AI数据_Table2").Sort = "_Identify Desc"
'********* 上面的TextBox控件应用改成Label控件,因为上面要设置禁止选择还有禁止编辑没有这个控件方便 **********
Dim lbl As WinForm.Label '定义控件变量
lbl = e.Form.Controls("Label2") '变量等于那个控件名称
If DataTables("智能AI数据_Table2").TotalPages = 0 Then '当地区表的总页数等于0时
lbl.TextAlign = ContentAlignment.MiddleCenter '字体垂直与水平对齐
lbl.Font = New Font("幼圆", 14, FontStyle.Bold) '设置字体
lbl.text = "没有您要的资料" '则显示搜索文本
Else ' 否则
lbl.TextAlign = ContentAlignment.MiddleCenter '字体垂直与水平对齐
lbl.Font = New Font("微软雅黑", 12, FontStyle.Bold) '设置字体
lbl.text = "第" & DataTables("智能AI数据_Table2").LoadPage + 1 & "页/总" & DataTables("智能AI数据_Table2").TotalPages + 2 & "页" '总页数不等于0时,控件.要显示的内容=第几页/总几页
End If '判断结束语句
If val = "" Then
Dim ids As String
For Each dr As DataRow In DataTables("智能AI数据_Table1").DataRows
ids = ids & ",'" & dr("ExcelServerRCID") & "'"
Next
ids= ids.Trim(",")
With DataTables("智能AI数据_Table2")
.LoadFilter = "ExcelServerRCID In (" & ids & ")" '一定要清除加载条件
.Load(False)
End With
With DataTables("智能AI数据_Table1")
.LoadFilter = "" '一定要清除加载条件
.LoadTop = 25
.LoadPage = 0
.Load(False)
End With
End If
Dim bh As String = DataTables("智能AI数据_Table2").GetComboListString("ExcelServerRCID",Tables("智能AI数据_Table2").filter )
Tables("智能AI数据_Table1").filter = "ExcelServerRCID in('" & bh.replace("|","','") & "')"
Tables("智能AI数据_Table1").AutoSizeCols() '自适应所有列的宽度
Tables("智能AI数据_Table1").Sort = "_Identify Desc"