Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现部分字段的上下行移动?


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

主题:[求助]如何实现部分字段的上下行移动?

美女呀,离线,留言给我吧!
sxcspring
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:59 积分:682 威望:0 精华:0 注册:2012/12/20 23:02:00
[求助]如何实现部分字段的上下行移动?  发帖心情 Post By:2015/5/24 10:33:00 [只看该作者]

如图表列:卷号,订单,方案。卷号的行顺序不动,让“订单”和“方案”一起上下行移动(最好是可以多行的一起移),如何实现?

 

这个类似与ListView里面通过拖拽改变行的顺序,不同的是,我要表里面一部分字段的行顺序不变,另一部分改变。

 

如图,“卷号”与“订单“、“方案”的对应关系在在操作后全部改了。

 

请专家务必赐教。

 


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/24 10:40:00 [只看该作者]

参考代码,比如调换下一行的代码。

 

Dim cs() As String = {"第二列", "第三列"}

Dim cr As Row = Tables("表A").Current
If cr IsNot Nothing AndAlso cr.Index < Tables("表A").Rows.Count - 1 Then
    Dim nr As Row = Tables("表A").Rows(cr.Index + 1)
    For Each c As String In cs
        Dim temp As String = nr(c)
        nr(c) = cr(c)
        cr(c) = temp
    Next
End If


 回到顶部
美女呀,离线,留言给我吧!
sxcspring
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:59 积分:682 威望:0 精华:0 注册:2012/12/20 23:02:00
  发帖心情 Post By:2015/5/24 11:05:00 [只看该作者]

太谢谢了,不过能否再优化?

这个代码实现的是一行一行的移(就“方案”为AB的那个向上移3下),那如果是“方案”为A、B、C那3三行同时往下移一行呢?怎么弄?


图片点击可在新窗口打开查看此主题相关图片如下:222.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/24 11:09:00 [只看该作者]

Dim cs() As String = {"第二列", "第三列"}
Dim t As Table = Tables("表A")
If t.BottomPosition < t.Rows.Count - 1 Then
    For i As Integer = t.BottomPosition To t.TopPosition Step -1
        Dim cr As Row = t.Rows(i)
        Dim nr As Row = t.Rows(i + 1)
        For Each c As String In cs
            Dim temp As String = nr(c)
            nr(c) = cr(c)
            cr(c) = temp
        Next
    Next
End If

 回到顶部