Foxtable(狐表)用户栏目专家坐堂 → 翻页条件


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

主题:翻页条件

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


加好友 发短信
等级:五尾狐 帖子:1096 积分:7794 威望:0 精华:0 注册:2009/6/24 9:44:00
翻页条件  发帖心情 Post By:2025/1/3 10:48:00 [只看该作者]

2、然后在项目事件AfterOpenProject中设置代码,使得打开项目后,自动加载第一页:

With DataTables("订单")
    .LoadFilter = ""
'一定要清除加载条件
    .LoadTop =
20
    .LoadPage =
0
    .Load()

End
With

提示:由于已经在第一步设置了加载条件"[_Identify] Is Null",所以必须在AfterOpenProject事件中清除此条件,否则不会加载任何数据。


各按钮的代码如下:

按钮 代码
第一页 With DataTables("订单")
    If
.LoadPage <> 0
Then
       .LoadTop =
20
       .LoadPage =
0
       .Load()

    End
If
End
With
下一页 With DataTables("订单")
   
If .LoadPage < .TotalPages - 1 Then
        .LoadPage = .LoadPage + 1
        .Load()
   
End If
End
With
上一页 With DataTables("订单")
   
If .LoadPage > 0 Then
        .LoadPage = .LoadPage - 1
        .Load()
   
End If
End
With
最末页 With DataTables("订单")
   
If .LoadPage < .TotalPages - 1 Then
        .LoadPage = .TotalPages - 1
        .Load()
   
End If
End
With



这个分页的示例,如果我需要临时改变筛选条件,比如增加性别列为“男”,这时候需要在所有翻页代码中加入 .LoadFilter = ""条件吗


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


加好友 发短信
等级:超级版主 帖子:111901 积分:569659 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/3 11:02:00 [只看该作者]

不需要,改一次LoadFilter 条件即可

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


加好友 发短信
等级:五尾狐 帖子:1096 积分:7794 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2025/1/4 20:50:00 [只看该作者]

现在想在一个窗口中不断地切换筛选条件,比如以性别筛选,然后又改成以民族,然后可能又改成年龄,等等这样的不断变化的条件,这种一般应该怎样 设计合理一些?比如是在菜单栏做几个不同的菜单,点击哪个就会按哪个条件筛选?还是做成按钮方式,多个按钮在窗口上,点哪个按钮就切换哪个条件,比较方便快捷合理的方式有哪种?有没有实例可供参考?

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


加好友 发短信
等级:超级版主 帖子:111901 积分:569659 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/5 20:22:00 [只看该作者]

自己测试不同用法,或者做了给用户使用,觉得哪个用法好用,或者喜欢哪个用法就要那个
[此贴子已经被作者于2025/1/5 20:22:10编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1096 积分:7794 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2025/1/10 22:42:00 [只看该作者]

我现在先筛选数据 ,然后再进行翻页,下一页按钮无效,代码如下:
筛选按钮代码:
Dim Filter As String
With e.Form.Controls("布控原因")
    If .Value IsNot Nothing Then
        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 & "(进检类别 = '" & .Value & "' or 出检类别='" & .Value & "')"
    End If
End With

If Filter > "" Then
    With Tables("检疫资料").DataTable
        .LoadFilter =  Filter
        .LoadOrder = "录入时间 Desc"
        .Load()
    End  With
    Tables("检疫资料").Sort = "录入时间 DESC"
End If

下一页代码:
With DataTables("检疫资料")
    If .LoadPage < .TotalPages - 1 Then
        .LoadPage = .LoadPage + 1
        .Load()
    End If
End With


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


加好友 发短信
等级:超级版主 帖子:111901 积分:569659 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/11 9:31:00 [只看该作者]

没有指定LoadTop,http://www.foxtable.com/webhelp/topics/1928.htm,看示例二

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


加好友 发短信
等级:五尾狐 帖子:1096 积分:7794 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2025/1/11 10:49:00 [只看该作者]

查询按钮:
If Filter > "" Then
    With Tables("检疫资料").DataTable
        .LoadFilter =  Filter
        .LoadOrder = "录入时间 Desc"
        .LoadTop=10
        .Load()
    End  With
    Tables("检疫资料").Sort = "录入时间 DESC"

现在只加载很少一部分数据,怎样在每次点查询的时候,好像是在我上次筛选后的结果中筛选的数据。


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


加好友 发短信
等级:超级版主 帖子:111901 积分:569659 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/11 11:02:00 [只看该作者]

没看懂想表达的什么意思。

上面代码就是按条件加载前10行数据

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


加好友 发短信
等级:五尾狐 帖子:1096 积分:7794 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2025/1/11 13:48:00 [只看该作者]

假如我表中有100条数据,第一次根据条件筛选,筛选出0条数据,第二次改变条件,即使有这个数据,也筛选不出来了

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


加好友 发短信
等级:超级版主 帖子:111901 积分:569659 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/11 14:02:00 [只看该作者]

不可能的。2次分别写了什么代码?

 回到顶部
总数 17 1 2 下一页