Foxtable(狐表)用户栏目专家坐堂 → [求助]在分页加载情况下开启自定义筛选


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

主题:[求助]在分页加载情况下开启自定义筛选

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


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
[求助]在分页加载情况下开启自定义筛选  发帖心情 Post By:2017/9/10 21:45:00 [只看该作者]

做了一个独立窗口,里面有一个表(副表),之前没有设置分页加载,自己做了一个自定义筛选:如下

Dim txt As String = e.Form.Controls("TextBox1").Text


Dim tbl As Table = Tables("采购目录_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"


    tbl.Filter = "类型 Like " & txt & " Or 品名 Like " & txt & " Or 特属科 Like " & txt & " Or 治疗属性 Like " & txt 


End If


现在开启了 分页加载,也开启了默认后台筛选,但是这个自定义的筛选就出问题了,只会筛选当前页内容。如何改进,做到筛选所有数据?

求教?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/10 22:35:00 [只看该作者]

改成这样


Dim txt As String = e.Form.Controls("TextBox1").Text

Dim tbl As Table = Tables("采购目录_Table1")
If txt = "" Then

    tbl.DataTable.loadPage = 0
    tbl.DataTable.loadFilter = ""
    tbl.DataTable.load
Else
    txt = "'%" & txt & "%'"
    tbl.DataTable.loadFilter = "类型 Like " & txt & " Or 品名 Like " & txt & " Or 特属科 Like " & txt & " Or 治疗属性 Like " & txt

    tbl.DataTable.loadPage = 0
    tbl.DataTable.load
End If


 回到顶部
帅哥哟,离线,有人找我吗?
堕落的后天
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
  发帖心情 Post By:2017/9/11 8:38:00 [只看该作者]

测试可以了,我想问下老师,在设置了分页加载后,打开软件,虽然某一个表是分页加载的,但是他的数据表其实是全部加载了的么?还是说给了判断以后再加载的?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/11 9:16:00 [只看该作者]

以下是引用堕落的后天在2017/9/11 8:38:00的发言:
测试可以了,我想问下老师,在设置了分页加载后,打开软件,虽然某一个表是分页加载的,但是他的数据表其实是全部加载了的么?还是说给了判断以后再加载的?

 

你说的是2楼的代码?2楼的代码,不是筛选,而是重新根据条件重新加载一次。


 回到顶部
帅哥哟,离线,有人找我吗?
堕落的后天
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
  发帖心情 Post By:2017/9/11 9:28:00 [只看该作者]

哦哦  明白了  重新筛选,重新筛选不影响项目设置的分页加载么?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/11 9:31:00 [只看该作者]

以下是引用堕落的后天在2017/9/11 9:28:00的发言:
哦哦  明白了  重新筛选,重新筛选不影响项目设置的分页加载么?

 

你重新加载后,你的分页加载里面页数显示的,就是你重新加载后的数据。

 

如果要还原原来的,你需要做个按钮,重新设置加载条件重新加载一次。


 回到顶部
帅哥哟,离线,有人找我吗?
堕落的后天
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:1431 威望:0 精华:0 注册:2017/8/4 14:17:00
  发帖心情 Post By:2017/9/11 12:26:00 [只看该作者]

Dim d As Date 
Dim tbl As Table = Tables("医生领料清单_Table1")

d = Date.Today

tbl.DataTable.loadFilter = "[领料时间] = '" & d & "' And  [领料医生] = '" & _UserName & "'   "
tbl.DataTable.loadPage = 0
tbl.DataTable.load


我有一句这样写   跳出:标准表达式中数据类型不匹配。(.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.8.3.1
错误所在事件:加载[医生领料表]失败!
详细错误信息:
标准表达式中数据类型不匹配。


解决了  前面加上#  就好了  
[此贴子已经被作者于2017/9/11 13:37:18编辑过]

 回到顶部