以下为我的源代码, 目的是,通过 在文本框输入内容,进行快速筛选;
比如 输入【钢筋 t -m3】,这代表,项目名称、项目特征、计量单位、单位工程、部位 中包含 ”钢筋“、“t”字眼,不包含”m3“字眼的行;此目的已经实现,如下代码:
If e.TextBox.Text IsNot Nothing Then
Dim filter As String = "1=1"
Dim sp() As String = e.TextBox.Text.split(" ")
For Each s As String In sp
If s.StartsWith("-") Then
Dim n As Integer = s.Length
If n > 1 Then
s = right(s, n - 1)
filter = filter & " and not (项目名称 like '%" & s & "%' or 项目特征 like '%" & s & "%' or 计量单位 like '%" & s & "%' or 单位工程 like '%" & s & "%' or 部位 like '%" & s & "%' )"
End If
Else
filter = filter & " and (项目名称 like '%" & s & "%' or 项目特征 like '%" & s & "%' or 计量单位 like '%" & s & "%' or 单位工程 like '%" & s & "%' or 部位 like '%" & s & "%' )"
End If
Next
Tables("清单_Table1").Filter = filter
End If
我现在想改善下次代码,就是 其中 项目名称、项目特征、计量单位、单位工程…… ,这些列我想做成动态的,
比如,通过对话框进行勾选,对某些列,进行筛选,清单如何编写代码?
这个地方感觉很复杂,思路我有,只是 双引号,单引号,如何连接,什么的,老搞不明白
如果,有一个lrs (这个是list,就是我获取的需要查询的列的名称) ,请大神指教如何编写代码,谢谢