Foxtable(狐表)用户栏目专家坐堂 → 分页后排序不对


  共有4831人关注过本帖树形打印复制链接

主题:分页后排序不对

帅哥哟,离线,有人找我吗?
刘林
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
分页后排序不对  发帖心情 Post By: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排序不一致了,请问该如何改,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/27 22:13:00 [只看该作者]

For Each dr As DataRow In dt.DataRows
改为
For Each dr As DataRow In dt.select("","sjwz")

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2022/3/27 22:48:00 [只看该作者]

按上改了不是不行,另外我查了下sql执行的_sortkey 值为什么是小数呢,跟这个有关吗
sjwz列是整数列
1
2
3
4
5
6
7
8
9
10


但前端的顺序是
1
8
9
2
。。

没看是什么原因

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/27 23:27:00 [只看该作者]

按2楼的方法改,json肯定是按照sjwz排序的。如果不行,那是前端处理的问题了

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2022/3/28 11:39:00 [只看该作者]

是按2楼改的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 11:53:00 [只看该作者]

那就是前端显示数据的问题了

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2022/3/28 12:22:00 [只看该作者]

sql 中查看_sortkey 为1.9,1.92,9.88等与这个结果有关不?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 13:31:00 [只看该作者]

dt.select("","sjwz")不会受其他列影响

 回到顶部
帅哥哟,离线,有人找我吗?
刘林
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1953 积分:15015 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2022/3/28 21:58:00 [只看该作者]

老师,我用将 sqlreplacefor("_sortkey","sjwz","",true)现在可以了,是什么情况

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/28 22:21:00 [只看该作者]

这要提供实例测试才知道了

 回到顶部