以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]分页加载为何有些页面是重复的  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171757)

--  作者:81538475
--  发布时间:2021/9/8 16:44:00
--  [求助]分页加载为何有些页面是重复的
分页加载出现了一个奇怪的问题。在调整页数时,发现有的页数加载出来的信息一样,比如第四页和第五页一样,第六页  才开始翻页
CurrentTable.DataTable.LoadFilter="状态<>\'离职\'"
CurrentTable.DataTable.LoadPage = 5
CurrentTable.DataTable.LoadOrder = "姓名"
CurrentTable.DataTable.LoadTop =50
CurrentTable.DataTable.Load

--  作者:有点蓝
--  发布时间:2021/9/8 17:25:00
--  
是不是还设置了LoadOver?
--  作者:81538475
--  发布时间:2021/9/8 17:29:00
--  
嗯。是,一开始的时候设置了这个。
--  作者:有点蓝
--  发布时间:2021/9/8 17:31:00
--  
http://www.foxtable.com/webhelp/topics/1928.htm

示例四

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

例如:

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

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

End
 With

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

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


--  作者:81538475
--  发布时间:2021/9/8 17:36:00
--  
那就是目前没有办法按照其他列加载了吗? 比如部门。好像loadorder 也没有作用呢
--  作者:有点蓝
--  发布时间:2021/9/9 8:36:00
--  
如果是sqlserver,可以使用ROW_NUMBER函数分页:http://www.foxtable.com/webhelp/topics/2721.htm