Foxtable(狐表)用户栏目专家坐堂 → 请教一个动态加载的问题


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

主题:请教一个动态加载的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
请教一个动态加载的问题  发帖心情 Post By:2015/2/8 12:21:00 [只看该作者]

帮助文件中有一个动态加载的例子:

示例四

分页加载的时候,默认是根据主键分页的,可以用LoadOver属性改变分页列。

例如:

With DataTables("订单")
    .LoadTop =
20

    .LoadPage =
3
    .LoadOver =
"日期"
    .Load()

End
With

表示根据日期列分页,每页20行,加载第四页。

我们的建议是:尽量采用主键列或者其他值不会重复的列(如身份证号码),作为分页依据列,因为如果分页依据列的值有重复,将会影响分页的准确性,例如上面的代码根据日期分页,每页显示20行,如果某一天有40个订单,那么这40个订单会显示在同一个页面中,而不会按我们期望的那样分成两页显示。


现在因项目中的确需要以“日期”序加载订单表中的数据,但在窗口表中也希望按每页显示20条记录,包括对这个有40条订单记录的某一天,也按每页显示20条订单记录,也就是分成2页显示,怎么写代码。


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


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

1、LoadOver必须用主键;

 

2、要自己弄,就参考 http://www.foxtable.com/help/topics/2721.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/8 15:16:00 [只看该作者]

这句代码运行出错,电脑上没有装有sql server,用的是access数据库,是不是不能运行,没有那个ROW_NUMBER函数

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/8 15:18:00 [只看该作者]

怪得很,代码发不上来,截图:
图片点击可在新窗口打开查看此主题相关图片如下:000.png
图片点击可在新窗口打开查看

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


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


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/8 16:37:00 [只看该作者]

那代码的运行环境呢?

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


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

 关键是你去参考人家的sql语句的写法啊。

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/8 21:23:00 [只看该作者]

看了半天,还是看不懂怎么弄这个分页加载,甜老师指点下。

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


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

 5楼的sql语句啊,已经讲得很清楚了啊

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2015/2/8 22:21:00 [只看该作者]

示例四

分页加载的时候,默认是根据主键分页的,可以用LoadOver属性改变分页列。

例如:

With DataTables("订单")
    .LoadTop = 
20

    .LoadPage = 
3
    .LoadOver = 
"日期"
    .Load()

End
 With

表示根据日期列分页,每页20行,加载第四页。

我们的建议是:尽量采用主键列或者其他值不会重复的列(如身份证号码),作为分页依据列,因为如果分页依据列的值有重复,将会影响分页的准确性,例如上面的代码根据日期分页,每页显示20行,如果某一天有40个订单,那么这40个订单会显示在同一个页面中,而不会按我们期望的那样分成两页显示。


现在因项目中的确需要以“日期”序加载订单表中的数据,但在窗口表中也希望按每页显示20条记录,包括对这个有40条订单记录的某一天,也按每页显示20条订单记录,也就是分成2页显示,怎么写代码。


即既要按主建来分页,确保每页20行(不能多于20行),又要确保这每页的20行又要按另一字段“日期”来排序。


5楼的链接所给的分页方法,可能达不到想要的目的,4楼贴图所示的代码好像可以,但运行出错,不知道怎么改。

[此贴子已经被作者于2015/2/8 22:23:45编辑过]

 回到顶部
总数 40 1 2 3 4 下一页