以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问怎么让table里面指定行不参加排序?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56799)

--  作者:heying325
--  发布时间:2014/9/12 15:41:00
--  请问怎么让table里面指定行不参加排序?
我动态生成的table中,我设置成了单击排序。。但是有的行我不希望排序,请问怎么弄?
--  作者:有点甜
--  发布时间:2014/9/12 15:48:00
--  

 有的行,指哪些行?默认是做不到的,看能否变通处理。


--  作者:Bin
--  发布时间:2014/9/12 15:51:00
--  
BeforeSort 事件

If e.Table.Cols(e.Table.ColSel).name="要禁止的列名" Then
   e.Cancel=True
End If

--  作者:heying325
--  发布时间:2014/9/12 15:59:00
--  
是指定行呀! 特定条件的行!!比如我想让那行永远处于最后面!!
[此贴子已经被作者于2014-9-12 15:58:56编辑过]

--  作者:Bin
--  发布时间:2014/9/12 16:02:00
--  
不好意思.看错.

你可以在ALterSOrt事件
利用FIND找到你的行, 利用Move方法移动到最后面去.

--  作者:heying325
--  发布时间:2014/9/12 16:16:00
--  
弹出对话框,说 此表不支持移动行 !
--  作者:lsy
--  发布时间:2014/9/12 16:19:00
--  
排序状态下,不允许移动行。
--  作者:heying325
--  发布时间:2014/9/12 16:21:00
--  
额!那没有办法了么?
--  作者:有点甜
--  发布时间:2014/9/12 16:22:00
--  

 做不到的,最多是模拟。

 

 思路:排序的时候,取消排序,然后通过改变_Sortkey的值得到排序的效果


--  作者:yan2006l
--  发布时间:2014/9/12 17:34:00
--  

模拟吧,弄个辅助的数值列

先select制定的行依次填写1.2.3.....反正每次加1

后select不制定的行,继续上面的最后数值每次加1

然后从大到小排序