以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  移动选定多行到指定位置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=15411)

--  作者:hanxuntx
--  发布时间:2011/12/24 13:02:00
--  移动选定多行到指定位置


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

 

如图


--  作者:czy
--  发布时间:2011/12/24 13:19:00
--  
这需要规律吧,比如如何判断这些行应该上移到哪里?
--  作者:hanxuntx
--  发布时间:2011/12/24 13:38:00
--  

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

就是不知道怎么移动

move好像只能移动当前行。

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


--  作者:czy
--  发布时间:2011/12/24 14:20:00
--  

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


--  作者:hanxuntx
--  发布时间:2011/12/24 14:25:00
--  
以前就是遍历的。想提高的效率。
--  作者:czy
--  发布时间: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
--  发布时间:2011/12/24 14:47:00
--  
以下是引用hanxuntx在2011-12-24 14:25:00的发言:
以前就是遍历的。想提高的效率。

 

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

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