以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]数据表排序无效(附例子)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=38833)

--  作者:jspta
--  发布时间:2013/8/8 11:32:00
--  [讨论]数据表排序无效(附例子)

今天发现带有_Sortkey的字段,居然会导致loadorder排序无效,连用sql加载的表也无法排序?

 

这个算不算BUG啊?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试_排序.foxdb


--  作者:狐狸爸爸
--  发布时间:2013/8/8 11:50:00
--  

order by 和 top 配合使用。

例如按日期顺序,加载最新的10条记录。

 

至于记载后的数据的显示顺序,由table的sort属性决定。


--  作者:jspta
--  发布时间:2013/8/8 12:25:00
--  
以下是引用狐狸爸爸在2013-8-8 11:50:00的发言:

order by 和 top 配合使用。

例如按日期顺序,加载最新的10条记录。

 

至于记载后的数据的显示顺序,由table的sort属性决定。

这样不好吧,那不是导致排序无效了吗?只能进行升序或降序,非常不灵活。什么解决办法吗?


--  作者:有点甜
--  发布时间:2013/8/9 0:30:00
--  
以下是引用jspta在2013-8-8 12:25:00的发言:

这样不好吧,那不是导致排序无效了吗?只能进行升序或降序,非常不灵活。什么解决办法吗?


默认是根据_sortkey排序的,显示的时候。

你可以重新指定 t.Sort = "第一列,第二列"

--  作者:jspta
--  发布时间:2013/8/9 9:35:00
--  
以下是引用有点甜在2013-8-9 0:30:00的发言:


默认是根据_sortkey排序的,显示的时候。

你可以重新指定 t.Sort = "第一列,第二列"

这样取消排序就没啦,我后来直接把sortkey重置为0,这样就随意排序了


--  作者:狐狸爸爸
--  发布时间:2013/8/9 10:21:00
--  

那你删除掉_sortKey列,不过删掉之后,默认就会根据_Identify排序。


--  作者:jspta
--  发布时间:2013/8/9 10:36:00
--  
以下是引用狐狸爸爸在2013-8-9 10:21:00的发言:

那你删除掉_sortKey列,不过删掉之后,默认就会根据_Identify排序。

主要会发生这样一个问题,一个表

当你先加载5行,然后增加2行,这两行会根据当前行添加sortkey,

然后你按同样加载,然后增加

最后你重新加载这些行,你就发现sortkey一样,导致排序混乱了,而且是无法通过代码进行预先改变,只能使用sort进行排序。

保留sortkey是因为无法确定以后是不是会使用到插入行,移动行等功能

所以能否添加一个开关,是否使用sortkey进行排序那?


--  作者:狐狸爸爸
--  发布时间:2013/8/9 10:38:00
--  

这个问题是存在的,删除_sortKey这一列吧,默认按照_Identify来排序,就不存在这个问题了。