以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于Filter (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63003) |
-- 作者:machle -- 发布时间:2015/1/12 8:50:00 -- 关于Filter 自己构建treeview 的筛选树,点击一层节点,可以在表中显示相应的筛选数据。 用 and 和 or 连接一些条件表达式,但是发现当连接的表达式在3-4个的时候,可以正确筛选,按照同样的格式,表达式多了,就不工作了。 |
-- 作者:Bin -- 发布时间:2015/1/12 8:51:00 -- 你条件迷糊了吧. 筛选不出数据 还是筛选数据混乱? 你弹出你设置的FIlter 看看 再对比一下数据就知道了 |
-- 作者:machle -- 发布时间:2015/1/12 8:56:00 -- 回复:(Bin)你条件迷糊了吧. 筛选不出数据 还... Dim Filter As String Dim txt As String = e.Form.Controls("TextBox1").Text Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 If e.Node.Text <> "显示所有行" Then Select Case e.Node.Level Case 0 Filter = "[类别] = \'" & dr("类别") & "\'" Case 1 Filter = "[类别] = \'" & dr("类别") & "\' And [项别] = \'" & dr("项别") & "\'" End Select End If txt = "\'%" & txt & "%\'" Dim Filter2 As String Filter2 = "危险 Like " & txt & " or 预防 Like " & txt & " or 应急 Like " & txt Tables("BasicLabel").Filter = Filter2 & "And" & Filter Filter2 再增加相应格式的条件表达式,就不筛选了。
|
-- 作者:Bin -- 发布时间:2015/1/12 9:00:00 -- 呵呵,你筛选条件迷糊了. 你自己搞乱了. 你是不是想要这个结果? 这个意思? Filter2 = "(危险 Like " & txt & " or 预防 Like " & txt & " or 应急 Like " & txt & ")" Tables("BasicLabel").Filter = Filter2 & " And " & Filter |
-- 作者:machle -- 发布时间:2015/1/12 9:23:00 -- 回复:(Bin)呵呵,你筛选条件迷糊了. 你自己搞... 谢谢您!调试了一下,可以用了 我看到比我多了几个括号,还有& 这是为什么呢? |
-- 作者:Bin -- 发布时间:2015/1/12 9:27:00 -- 没有多什么& 就是多了一个括号 你弹出条件观察一下就能理解了. 要解释还真不好解释. "列1=1 and 列2=2 or 列3=4" 和 "列1=1 and (列2=2 or 列3=4)" 肯定是不一样的 括号里的判断会识别为一个整体
|
-- 作者:machle -- 发布时间:2015/1/12 9:32:00 -- 回复:(Bin)没有多什么& 就是多了一个括号... 那我有些理解了,或和与的问题,需要给它隔开,例子里貌似没有,或者都是或,或者都是与,呵呵,谢谢! |