Foxtable(狐表)用户栏目专家坐堂 → 表格中怎样实现对行和列的拖拽排序?


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

主题:表格中怎样实现对行和列的拖拽排序?

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


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
表格中怎样实现对行和列的拖拽排序?  发帖心情 Post By:2013/9/25 16:23:00 [只看该作者]

想在表格中通过拖动人员或者拖动行号、列号的形式进行人员的重新排列;比如想把第10条记录拖到第3条,而不是一行一行往上移动,该怎样实现?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/9/25 16:42:00 [只看该作者]

试试看,冰的主意应该不会错,先谢过啦!


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


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/9/25 16:52:00 [只看该作者]

冰太伟大了,哈,成功!谢谢冰啊!

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2013/9/25 16:56:00 [只看该作者]

Bin         冰     ?    

 

 

好听                    

 

图片点击可在新窗口打开查看


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


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/11/4 10:47:00 [只看该作者]

这下,行是可以拖动了,可是单击列标题的时候,第一行会直接跑到最后一行。

    If e.newrange.TopRow>=0  Then
            If  e.Table.Current.Index>=0 And e.Table.Current.Index<=e.Table.count-1 Then
                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
   End If
这段代码,单击列标题则第一行会跑到最后一行,如果把第一行代码改成e.newrange.TopRow>0 的时候,则第一行不能被拖动。

请问该怎样修改才能解决这个问题?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/4 10:51:00 [只看该作者]

你这个代码是放在哪里的呢?是想实现什么需求呢?

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


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/11/4 11:25:00 [只看该作者]

上次是按你的指导,实现了拖动行排序,但今天我发现,在.toprow=0的时候,好像是同时也选中了列头,所以点击列头的时候,第一行会自己跑到最后一行,同时也不能选中整列了,这不符合常用习惯。改成>0就没问题了,但第一行却不能拖动。

    现在希望第一行也能正常拖动,并且单击列头的时候依然能够选中整列。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/11/4 11:36:00 [只看该作者]

这样貌似不行,单击列头,第一列仍然会跑到最后一行,并且表内其他行也不能拖动了。


 回到顶部
总数 18 1 2 下一页