Foxtable(狐表)用户栏目专家坐堂 → [求助]关于通用的filter问题【已解决】


  共有6283人关注过本帖树形打印复制链接

主题:[求助]关于通用的filter问题【已解决】

帅哥哟,离线,有人找我吗?
fox0001
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:85 积分:625 威望:0 精华:0 注册:2012/11/27 11:00:00
[求助]关于通用的filter问题【已解决】  发帖心情 Post By:2013/4/25 11:46:00 [显示全部帖子]

想做一个通用的弹出选择窗口,然后加上一个输入过滤条件的文本框,点“过滤”按钮就可以进行模糊查询所有字段,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:图像 1.png
图片点击可在新窗口打开查看

”过滤“按钮的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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fox0001
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:85 积分:625 威望:0 精华:0 注册:2012/11/27 11:00:00
  发帖心情 Post By: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)


 回到顶部