以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何移动当前行到指定行后面 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94236) |
-- 作者:chnfo -- 发布时间:2016/12/19 16:13:00 -- [求助]如何移动当前行到指定行后面 表中有几列,ID,WZ 希望在WZ列输入某一行的ID后,就将它移到指定ID行的后面。 例如ID分别为1,2,3,4,…… 如果将第一行的WZ输入4,就将这一行移到ID=4的这一行后面 [此贴子已经被作者于2016/12/19 16:14:21编辑过]
|
-- 作者:chnfo -- 发布时间:2016/12/19 16:24:00 -- 想了个笨办法。先把这一行移到最末一行去,然后再把它移回来。但是问题是:如果多人同时操作这个表,麻烦就来了。 Dim n As Integer = Tables("A").Rows.Count Dim bid As Integer = Tables("A").FindRow(e.DataRow) Tables("A").Rows(bid).Move(n - 1) Dim dr As DataRow = e.DataTable.Find("ID = \'" & e.DataRow(”ID”) & "\'") If dr IsNot Nothing Then Dim wz As Integer = Tables("A").FindRow(dr) If wz >= 0 Then Tables("A").Rows(n - 1).Move( wz + 1) End If End If [此贴子已经被作者于2016/12/19 16:24:12编辑过]
|
-- 作者:有点色 -- 发布时间:2016/12/19 16:24:00 -- 有必要这样做吗?只需要根据id列排序就好了。
你也可以找到id等于4的那一行,得到 sortkey 值,然后加上0.001,这样也行。 |
-- 作者:chnfo -- 发布时间:2016/12/19 16:30:00 -- 这里说1234只是一个例子,实际ID是自动生成的字符串。 不过你说的是好方法
[此贴子已经被作者于2016/12/19 16:36:00编辑过]
|