Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现在分页表中的查询


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

主题:[求助]如何实现在分页表中的查询

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


加好友 发短信
等级:婴狐 帖子:92 积分:744 威望:0 精华:0 注册:2013/7/19 8:55:00
[求助]如何实现在分页表中的查询  发帖心情 Post By:2013/9/11 11:22:00 [只看该作者]

查询按钮:
Dim Filter As String
With e.Form.Controls("物料编码")
    If .Value IsNot Nothing Then
        Filter = "物料编码 like '*" & .Value & "*'"
    End If
End With
With e.Form.Controls("供应商")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "供应商 = '" & .Value & "'"
    End If
End With
Tables("物料表").Filter = filter

物料表是采用帮助里面的分布加载树设计的,这样每次查询都只是当前页的内容,代码如何写才能实现在全部页中查找需要的内容?请老师指导!

AFTERLOAD代码:
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 大类,中类,供应商 From {物料表}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"大类|中类|供应商")
trv.Nodes.Insert("加载所有数据",0)
'加载第一页数据
With DataTables("物料表")
    .LoadFilter = "" '清除加载条件
    .LoadPage = 0 '加载第一页
    .LoadTop = 25 '每页25行
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/11 11:23:00 [只看该作者]

不要设置FIlter 设置LoadFilter  然后重新Load一次.

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


加好友 发短信
等级:婴狐 帖子:92 积分:744 威望:0 精华:0 注册:2013/7/19 8:55:00
  发帖心情 Post By:2013/9/11 11:30:00 [只看该作者]

If Filter > "" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 大类,中类,供应商 From {物料信息表}"
dt = cmd.ExecuteReader()
dt.LoadFilter = Filter 
dt.load()
End If
这样子也试过,毫无反应


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/11 11:32:00 [只看该作者]

你这个是什么意思? 看不懂啊.你这样做的意义是什么?

我的意思是让你设置DataTables("物料表").LoadFIlter 然后再LOAD

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


加好友 发短信
等级:婴狐 帖子:92 积分:744 威望:0 精华:0 注册:2013/7/19 8:55:00
  发帖心情 Post By:2013/9/11 14:36:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("物料编码")
    If .Value IsNot Nothing Then
        Filter = "物料编码 like '*" & .Value & "*'"
    End If
End With
With e.Form.Controls("供应商")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "供应商 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("物料名称")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "物料名称 like '*" & .Value & "*'"
    End If
End With
With e.Form.Controls("规格型号")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "规格型号 like '*" & .Value & "*'"
    End If
End With

If Filter > "" Then
    DataTables("物料信息表").LoadFilter = filter
    DataTables("物料信息表").load()
End If

之前本来是这样子的,得到的结果是空
删了一些条件之后还是不行,是不是filter的表达不能这样写?
用tables(XXX).filter=filter来查询的话上面的表达式是成立的


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/11 14:40:00 [只看该作者]

纸上不谈兵,用例子说话。

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


加好友 发短信
等级:婴狐 帖子:92 积分:744 威望:0 精华:0 注册:2013/7/19 8:55:00
  发帖心情 Post By:2013/9/11 14:55:00 [只看该作者]

例子上来了:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查询.foxdb


知道了,下次一定先上例子!
[此贴子已经被作者于2013-9-11 14:55:38编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/11 15:12:00 [只看该作者]

Dim Filter As String
With e.Form.Controls("物料编码")
    If .Value IsNot Nothing Then
        Filter = "物料编码 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("供应商")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "供应商 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("物料名称")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "物料名称 like '%" & .Value & "%'"
    End If
End With
With e.Form.Controls("规格型号")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "规格型号 like '%" & .Value & "%'"
    End If
End With
If filter  > "" Then
    DataTables("物料信息表").LoadFilter = Filter
    DataTables("物料信息表").load()
End If

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


加好友 发短信
等级:婴狐 帖子:92 积分:744 威望:0 精华:0 注册:2013/7/19 8:55:00
  发帖心情 Post By:2013/9/11 15:34:00 [只看该作者]

原来是如此,谢谢狐爸!!

 回到顶部