以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  分页加载请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86868)

--  作者:花开的声音
--  发布时间:2016/6/28 9:47:00
--  分页加载请教
请教下,如何确保每一页只显示相同条数目的记录,而且要按第二列的顺序排序。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


--  作者:大红袍
--  发布时间:2016/6/28 10:15:00
--  

参考代码,红色,是要变的

 

DataTables("订单").sqlload("SELECT TOP 3 * FR OM {订单} WHERE [_Identify] NOT IN (SELECT TOP 6 [_Identify] FR OM {订单} ORDER BY 第二列,[_Identify]) ORDER BY 第二列,[_Identify]")


--  作者:大红袍
--  发布时间:2016/6/28 10:15:00
--  

或者,这样写代码

 

Dim nc As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox1")

With DataTables("订单")
    .LoadFilter = ""  \'一定要清除加载条件
    .LoadTop = nc.Value

    .LoadOver = "[_Identify]"
    .LoadOrder = "第二列,[_Identify]"
    .LoadPage = 0
    .Load()
End With


--  作者:花开的声音
--  发布时间:2016/6/28 10:20:00
--  
谢谢红袍老师!
--  作者:花开的声音
--  发布时间:2016/6/28 11:45:00
--  
红袍老师,表中记录的_Identify如果按先后顺序来排的话,你上面的代码是可以的。但是,如果不是的话,如:序号3的_Identify是5,而序号4的_Identify是4的情况,就没有实现想要的效果了,麻烦帮改下看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


--  作者:大红袍
--  发布时间:2016/6/28 11:57:00
--  

3楼的方法,是有点问题。

 

请使用2楼的方法。再有就是,你第二列,请用数值列,不然排序会是 1、10、2、3、4 这样的。


--  作者:花开的声音
--  发布时间:2016/6/28 14:00:00
--  
红袍老师,研究了2楼的方法半天,没搞得定,麻烦帮我弄下。附改过数值列的示例。 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


--  作者:大红袍
--  发布时间:2016/6/28 14:33:00
--  

参考,取出后,默认是按照_Sortkey排序的。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3 (2).foxdb


--  作者:花开的声音
--  发布时间:2016/6/28 14:53:00
--  
虽然还不是想要的效果,还是很感谢红袍老师。看哪位老师能帮解决下这个问题。
--  作者:大红袍
--  发布时间:2016/6/28 14:59:00
--  
 无语,什么不是想要的效果啊,取出后你排序就行啊。