以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]关于Foxtable的强制排序  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=54465)

--  作者:jspta
--  发布时间:2014/7/29 9:57:00
--  [讨论]关于Foxtable的强制排序
原本Foxtable中有_Sortkey列进行排序,照成了一定的不方便。删除后解决了不少问题。现在又发现强制按照_Identify进行排序,无法通过datatable的 Orderby属性进行排序,这样order by 是不是有点形同虚设了那?难道只有不加载_Identify才算能够使用吗?
请狐爸解释下

--  作者:有点甜
--  发布时间:2014/7/29 9:59:00
--  
 order by 可以控制加载进来的数据的先后顺序。
--  作者:jspta
--  发布时间:2014/7/29 10:00:00
--  
控制不了,在最后显示在Table的时候,无法按照这个进行排序,只能用Table的Sort属性才行。
--  作者:有点甜
--  发布时间:2014/7/29 10:02:00
--  
以下是引用jspta在2014-7-29 10:00:00的发言:
控制不了,在最后显示在Table的时候,无法按照这个进行排序,只能用Table的Sort属性才行。

 

控制的是后台的顺序。比如后台有1000行数据,用orderby以后,再取出100行,取出的,就是排序的数据。

 

显示到table的时候,默认按照_sortkey或_identify排序。


--  作者:jspta
--  发布时间:2014/7/29 10:29:00
--  
就是因为这样在有用户有排序需求的情况下,完全不能控制。
反过来说,DataTable都看不到,它怎么排序用户会关心吗?怎么排序有实际意义吗?

--  作者:有点甜
--  发布时间:2014/7/29 10:34:00
--  

 回复5楼,有意义啊。

 

 4楼已经说了,从1000行中取出100行,你希望是排序取出,而不是乱序的话,你就可以指定orderby啊。


--  作者:jspta
--  发布时间:2014/7/29 10:40:00
--  
现在讨论的是显示的排序问题。后台的筛选是程序员关心的,不是用户。。
所以希望这个方面能不能再改进下,用Sort排序,用户使用筛选和排序就失效了。。

--  作者:有点甜
--  发布时间:2014/7/29 10:43:00
--  
以下是引用jspta在2014-7-29 10:40:00的发言:
现在讨论的是显示的排序问题。后台的筛选是程序员关心的,不是用户。。
所以希望这个方面能不能再改进下,用Sort排序,用户使用筛选和排序就失效了。。

 

你可以在排序事件里面控制,不允许用户自己排序。beforeSort事件。


--  作者:jspta
--  发布时间:2014/7/29 11:16:00
--  
这些都不是有效的方法。。只是一个很简单的倒序,你需要通过设置不让用户排序来实现,有点小题大做了。
目前大部分情况下不会遇到,我大量采用了视图,视图中没有Identify列所以基本也不会遇到这个问题。

再说说为什么放弃_Sortkey
本意是为了能够使用户进行排序,但是实际使用中你会发现,如果使用条件加载的方法进行录入,会导致Sortkey重复。这样在全表显示的时候排序更加乱。所以要把Sortkey剔除或重命名,但是现在又遇到_Identify,这样只能再把_Identify也剔除。可是这样就无法使用Save进行保存。

这个问题虽小,解决起来却如此麻烦。


--  作者:逛逛
--  发布时间:2014/7/29 12:07:00
--  

不能想办法,在table代码中建一个默认排序吗?

 

用户有排序,按用户,没有就按默认