以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  LoadOver的用法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175930)

--  作者:lisangyu
--  发布时间:2022/3/24 11:28:00
--  LoadOver的用法
LoadOver  有没有下面类似用法

根据客户和日期排序,其中日期为降序,也就是相同客户的订单,最新的订单排在前面:

Tables("订单").Sort = "客户,日期 DESC"


--  作者:有点蓝
--  发布时间:2022/3/24 11:37:00
--  
LoadOver是用来配合分页加载的,指定LoadOver后,分页的时候会按照LoadOver指定的列顺序加载数据
--  作者:lisangyu
--  发布时间:2022/3/27 9:56:00
--  
我的意思是datatables("").Loadover = "客户,日期"的用法

分页排序。假如按得分对tables表分页排序,但是相同的分数,耗时越短越靠前。

datatables(“考试记录”).LoadOver =  "得分,耗时" 但是报错,应该没有这个用法



--  作者:有点蓝
--  发布时间:2022/3/27 20:26:00
--  
LoadOver只能使用数据库存在的列,不能使用表达式列。LoadOver和tables表排序没有半毛钱的关系
--  作者:lisangyu
--  发布时间:2022/3/28 14:05:00
--  
With DataTables("考试记录")
    .LoadOver = "得分,耗时"
    .LoadReverse = True
    .LoadTop = 20
    .LoadPage = 0
    .Load
End With

提示:列名 \'得分,耗时\' 无效

蓝总,LoadOver有这个用法吗

--  作者:有点蓝
--  发布时间:2022/3/28 14:07:00
--  
LoadOver 仅支持使用单个列
--  作者:lisangyu
--  发布时间:2022/3/28 15:06:00
--  
那蓝总分页排序怎么做呢?考虑记录未来越来越多,所以分页加载,但是每页按成绩排序,相同的成绩,按耗时,怎么做呢?没找到方案了
--  作者:有点蓝
--  发布时间:2022/3/28 15:11:00
--  
如果是SqlServer,可以使用这种:http://www.foxtable.com/webhelp/topics/2721.htm
--  作者:lisangyu
--  发布时间:2022/3/28 16:42:00
--  
蓝总,关键是怎么对分页的行进行多个列的排序
--  作者:有点蓝
--  发布时间:2022/3/28 17:24:00
--  
3、增加一个自定义函数,函数名为LoadData,用于加载当前页数据:

 Dim r1 As Integer = (Page - 1) * 50 + 1
 Dim
 r2 As Integer = Page * 50
 Dim
 sql As String
 sql = "Select * From (Select Row_Number() Over(Order by [列1,列2,列3,.....列n]) As RowNum, * from 订单) As a "
 sql = sql & " Where RowNum >= " & r1 & " And RowNum <= " & r2
 DataTables
(
"
订单").SQLLoad(sql)