Foxtable(狐表)用户栏目专家坐堂 → 移动选定多行到指定位置


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

主题:移动选定多行到指定位置

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
移动选定多行到指定位置  发帖心情 Post By:2011/12/24 13:02:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.bmp
图片点击可在新窗口打开查看

 

如图


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/12/24 13:19:00 [只看该作者]

这需要规律吧,比如如何判断这些行应该上移到哪里?

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2011/12/24 13:38:00 [只看该作者]

上移到哪里的规律我有了。

就是不知道怎么移动

move好像只能移动当前行。

是系统命令,可以移动多行,但是只能上一行,下一行


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/12/24 14:20:00 [只看该作者]

move没有TopRow等属性,循环执行系统命令吧。


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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2011/12/24 14:25:00 [只看该作者]

以前就是遍历的。想提高的效率。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/12/24 14:26:00 [只看该作者]

根据上图,基本这样了。

 

With CurrentTable
    Dim Up As Integer = .FindRow("[TreeFullPath] = '超级管理员'",.Position + 1, True )
    Dim dr As DataRow = .DataTable.Find("[TreeFullPath] Like '*总经理*'",)
    Dim dr1 As DataRow = .DataTable.Find("[TreeFullPath] Like '*总经理*'", "_SortKey Desc")
    Dim TopRow As Integer = .FindRow(dr)
    Dim BottomRow As Integer = .FindRow(dr1)
    .Select(TopRow,0,BottomRow,0)
    For i As Integer = Up+1 To TopRow -1
        Syscmd.Row.MoveUp()
    Next
End With

[此贴子已经被作者于2011-12-24 14:25:58编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/12/24 14:47:00 [只看该作者]

以下是引用hanxuntx在2011-12-24 14:25:00的发言:
以前就是遍历的。想提高的效率。

 

遍历执行Syscmd.Row.MoveUp()上移次数和遍历每行后一行一行的上移有质的区别

测试了一下,上移250行,我用时0.378秒,可以接受


 回到顶部