以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]在分页加载情况下开启自定义筛选  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106515)

--  作者:堕落的后天
--  发布时间: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


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

求教?

--  作者:有点甜
--  发布时间: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


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

 

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


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

 

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

 

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


--  作者:堕落的后天
--  发布时间: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编辑过]