以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表格中怎样实现对行和列的拖拽排序? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40645) |
-- 作者:jsq96jg -- 发布时间:2013/9/25 16:23:00 -- 表格中怎样实现对行和列的拖拽排序? 想在表格中通过拖动人员或者拖动行号、列号的形式进行人员的重新排列;比如想把第10条记录拖到第3条,而不是一行一行往上移动,该怎样实现? |
-- 作者:Bin -- 发布时间:2013/9/25 16:33:00 -- AfterSelRangeChange 事件 If e.Table.TopPosition<e.Table.Current.Index Then e.Table.Current.Move(e.Table.TopPosition) Else e.Table.Current.Move(e.Table.BottomPosition) End If |
-- 作者:jsq96jg -- 发布时间:2013/9/25 16:42:00 -- 试试看,冰的主意应该不会错,先谢过啦! |
-- 作者:jsq96jg -- 发布时间:2013/9/25 16:52:00 -- 冰太伟大了,哈,成功!谢谢冰啊! |
-- 作者:逛逛 -- 发布时间:2013/9/25 16:56:00 -- Bin 冰 ?
好听
|
-- 作者:jsq96jg -- 发布时间:2013/11/4 10:47:00 -- 这下,行是可以拖动了,可是单击列标题的时候,第一行会直接跑到最后一行。 If e.newrange.TopRow>=0 Then 请问该怎样修改才能解决这个问题? |
-- 作者:Bin -- 发布时间:2013/11/4 10:51:00 -- 你这个代码是放在哪里的呢?是想实现什么需求呢? |
-- 作者:jsq96jg -- 发布时间:2013/11/4 11:25:00 -- 上次是按你的指导,实现了拖动行排序,但今天我发现,在.toprow=0的时候,好像是同时也选中了列头,所以点击列头的时候,第一行会自己跑到最后一行,同时也不能选中整列了,这不符合常用习惯。改成>0就没问题了,但第一行却不能拖动。 现在希望第一行也能正常拖动,并且单击列头的时候依然能够选中整列。 |
-- 作者:Bin -- 发布时间:2013/11/4 11:29:00 -- If e.NewRange.TopRow=0 AndAlso e.NewRange.BottomRow=e.Table.Rows.count-1 Then Else If e.Table.TopPosition<e.Table.Current.Index Then e.Table.Current.Move(e.Table.TopPosition) Else e.Table.Current.Move(e.Table.BottomPosition) End If End If
|
-- 作者:jsq96jg -- 发布时间:2013/11/4 11:36:00 -- 这样貌似不行,单击列头,第一列仍然会跑到最后一行,并且表内其他行也不能拖动了。 |