以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教蓝老师关于滚动加载的排序问题,只能用[_Identify]排序吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174224)

--  作者:liufucan
--  发布时间:2022/1/6 10:11:00
--  请教蓝老师关于滚动加载的排序问题,只能用[_Identify]排序吗?
如何改成按日期倒序呢?
  1. Dim wb As New weui  
  2. Select Case e.Path  
  3.     Case "infinitescroll"  
  4.         wb.AppendHTML("<link rel=\'stylesheet\' href=\'./weui/exweui.css\'/>",True)  
  5.         wb.AppendHTML("<script src=\'./weui/exweui.js\' ></script>",True)  
  6.         Dim  drs As  List(of  DataRow) = DataTables("订单2").SQLSelect("",8,"[_Identify]")  
  7.         With ExWeUI.WebUI.AddExInfiniteScroll("pr01","testcallback",0,8) \'默认显示8行,当行数少不需要滚动的时候是不会触发滚动事件的  
  8.             Dim wb2 As New weui \'用于生成默认列表  
  9.             With wb2.AddPanelGroup("","pg1","")  
  10.                 For Each dr As DataRow In drs  
  11.                     .Add("pn1" & dr("_Identify"), "日期: " & Format(dr("日期"),"yy年MM月dd日") & "  金额: " & dr("金额"),"产品: " & dr("产品") & ", 客户: " & dr("客户") & ", 雇员: " & dr("雇员"),"./images/button.png")   
  12.                 Next  
  13.             End With  
  14.             .Content = wb2.BuildHtml("pg1"\'设置默认显示的列表  
  15.             wb.InsertHTML(.BuildHtml)  
  16.         End With  
  17.         wb.AppendHTML("<script>initExWeUI();</script>")  
  18.         e.WriteString(wb.Build)  
  19.     Case "testcallback"  
  20.         Dim json As String = e.PlainText  
  21.         Dim jo2 As JObject = JObject.parse(json)  
  22.         Dim  drs As  List(of  DataRow) = DataTables("订单2").SQLSelect("[_Identify] > " & jo2("max").ToString , 5 ,"[_Identify]")  
  23.         Dim jo As new JObject  
  24.         jo("page") = cint(jo2("page")) + 1 \'模拟页数+1  
  25.         jo("max") = cstr(drs(drs.Count - 1)("_Identify")) \'模拟返回最大编号  
  26.           
  27.         If drs.count < 5 Then \'如果行数小于5,说明没有更多数据了  
  28.             jo("done") = True  
  29.         Else  
  30.             With wb.AddPanelGroup("","pg1" & jo("page").ToString,"")  
  31.                 For Each dr As DataRow In drs  
  32.                     .Add("pn1" & dr("_Identify"), "日期: " & Format(dr("日期"),"yy年MM月dd日") & "  金额: " & dr("金额"),"产品: " & dr("产品") & ", 客户: " & dr("客户") & ", 雇员: " & dr("雇员"),"./images/button.png")  
  33.                 Next  
  34.             End With  
  35.             jo("html") = wb.BuildHtml("pg1" & jo("page").ToString)  
  36.         End If  
  37.         System.Threading.Thread.Sleep(500) \'模拟延时的加载  
  38.         e.WriteString(jo.ToString)  
  39. End Select  

--  作者:有点蓝
--  发布时间:2022/1/6 10:13:00
--  
可以使用任何列排序
--  作者:liufucan
--  发布时间:2022/1/6 10:19:00
--  
怎么改呢,还请蓝老师指点
--  作者:有点蓝
--  发布时间:2022/1/6 10:21:00
--  
直接改列名就行了,比如编号列。前提是这个列的数据都是唯一的,并且可以比较
[此贴子已经被作者于2022/1/6 10:21:25编辑过]

--  作者:liufucan
--  发布时间:2022/1/6 10:36:00
--  
那日期列就不行了,因为不唯一
--  作者:有点蓝
--  发布时间:2022/1/6 10:44:00
--  
参考Row_Number的用法:http://www.foxtable.com/mobilehelp/topics/0128.htm
--  作者:liufucan
--  发布时间:2022/1/6 14:47:00
--  
sql数据源解决了,但是access数据源没有Row_Number,想实现日期列倒序怎么实现呢
--  作者:有点蓝
--  发布时间:2022/1/6 14:50:00
--  
这个我也没有办法。