以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 分页后排序不对 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176021) |
-- 作者:刘林 -- 发布时间:2022/3/27 21:53:00 -- 分页后排序不对 c="user" Dim filter As String ="" If e.Values.containskey("SPXH") AndAlso e.values("SPXH")>"" cmd.CommandText = "se/ect * from {sp} where charindex(\'" & e.values("SPXH") & "\',xh)> 0 and kc>0 order by sjwz" filter="xh like \'%" & e.values("SPXH") & "%\' And kc>0" Else cmd.CommandText = "se/ect * from {sp} where kc>0 order by sjwz" filter="kc>0" End If Dim dt As DataTable = cmd.ExecuteReader() If e.values.containskey("page") Then dt.loadpage=e.values("page")-1 dt.loadtop=e.values("limit") End If dt.load For Each dr As DataRow In dt.DataRows arr.add(new jobject) arr(i)("spm")=dr("spm").Tostring arr(i)("bh")=dr("bh").Tostring arr(i)("dj")=dr("dj").Tostring arr(i)("dw")=dr("dw").Tostring arr(i)("kc")=dr("kc").Tostring arr(i)("xh")=dr("xh").Tostring arr(i)("bz")=dr("bz").Tostring arr(i)("jj")=dr("jj").Tostring arr(i)("jfbn")=dr("jfbn").Tostring arr(i)("xp")=dr("xp").Tostring arr(i)("ID")=val(dr("_identify")) i=i+1 Next Dim obj As new jobject obj("code")=0 obj("msg")="ok" obj("count")=val(dt.sqlcompute("count(*)",filter)) obj("data")=arr e.writestring(compressjson(obj)) e.Handled=True 请问老师,上面order by sjwz在执行sql时是对的,但用了分页加载后前端的顺序就与sjwz排序不一致了,请问该如何改,谢谢
|
-- 作者:有点蓝 -- 发布时间:2022/3/27 22:13:00 -- For Each dr As DataRow In dt.DataRows 改为 For Each dr As DataRow In dt.select("","sjwz")
|
-- 作者:刘林 -- 发布时间:2022/3/27 22:48:00 -- 按上改了不是不行,另外我查了下sql执行的_sortkey 值为什么是小数呢,跟这个有关吗 sjwz列是整数列1 2 3 4 5 6 7 8 9 10 但前端的顺序是 1 8 9 2 。。 没看是什么原因
|
-- 作者:有点蓝 -- 发布时间:2022/3/27 23:27:00 -- 按2楼的方法改,json肯定是按照sjwz排序的。如果不行,那是前端处理的问题了 |
-- 作者:刘林 -- 发布时间:2022/3/28 11:39:00 -- 是按2楼改的 |
-- 作者:有点蓝 -- 发布时间:2022/3/28 11:53:00 -- 那就是前端显示数据的问题了 |
-- 作者:刘林 -- 发布时间:2022/3/28 12:22:00 -- sql 中查看_sortkey 为1.9,1.92,9.88等与这个结果有关不? |
-- 作者:有点蓝 -- 发布时间:2022/3/28 13:31:00 -- dt.select("","sjwz")不会受其他列影响 |
-- 作者:刘林 -- 发布时间:2022/3/28 21:58:00 -- 老师,我用将 sqlreplacefor("_sortkey","sjwz","",true)现在可以了,是什么情况 |
-- 作者:有点蓝 -- 发布时间:2022/3/28 22:21:00 -- 这要提供实例测试才知道了 |