以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于通用的filter问题【已解决】 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=32073) |
-- 作者:fox0001 -- 发布时间:2013/4/25 11:46:00 -- [求助]关于通用的filter问题【已解决】 想做一个通用的弹出选择窗口,然后加上一个输入过滤条件的文本框,点“过滤”按钮就可以进行模糊查询所有字段,如下图: ”过滤“按钮的click事件代码: Dim selectTable As Table = Tables(e.Form.name & "_selectTable") \'窗口的table Dim filterText As String = e.Form.controls("filterTextBox").value \'文本框的值 Dim fText As String = "" For Each c As Col In selectTable.Cols fText = fText & c.name & " like \'%" & filterText & "%\' or " Next selectTable.Filter = fText.SubString(0, fText.Length - 4) 现在有个问题,就是,如果某一列的类型为数字,例如图中的“类型值”,就会报错,不能实现过滤。有没有办法实现,不过列的类型是什么,都可以进行模糊查询? 已解决,详见3楼
[此贴子已经被作者于2013-4-25 13:40:28编辑过]
|
-- 作者:Bin -- 发布时间:2013/4/25 12:11:00 -- 判断一下列格式.如果是数值 就换一个模糊查询条件 即可. |
-- 作者:fox0001 -- 发布时间:2013/4/25 13:40:00 -- 以下是引用Bin在2013-4-25 12:11:00的发言: 判断一下列格式.如果是数值 就换一个模糊查询条件 即可. 谢谢,先转换数据类型,再查找。 “过滤”按钮的click事件代码改为: Dim selectTable As Table = Tables(e.Form.name & "_selectTable") \'窗口的table Dim filterText As String = e.Form.controls("filterTextBox").value \'文本框的值 Dim fText As String = "" For Each c As Col In selectTable.Cols fText = fText & " Convert(" & c.name & ",System.String) Like \'*" & filterText & "*\' or " Next selectTable.Filter = fText.SubString(0, fText.Length - 4) |