Foxtable(狐表)用户栏目专家坐堂 → [求助]选定单元格能连续左移和右移


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

主题:[求助]选定单元格能连续左移和右移

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
[求助]选定单元格能连续左移和右移  发帖心情 Post By:2024/5/30 21:06:00 [只看该作者]

大神老师,如何选定单元格能连续左移和右移,也就是能通过按钮点击能左移或右移,调整专业顺序,专业代码和专业名称一起移动,求按钮点击代码,感谢大神老师图片点击可在新窗口打开查看

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

[此贴子已经被作者于2024/5/30 21:10:08编辑过]

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 21:40:00 [只看该作者]

左移
dim t as table = tables("表A")
dim r as row = t.current
dim n as integer = t.colsel
dim c as col = t.cols(n)
if c.name like "*专业_*" andalso not(c.name like "第一专业_*") then
if c.name like "*_专业名称" then
n = n -1
c = t.cols(n)
end if
dim s1 as string = r(n-2)
dim s2 as string = r(n-1)
r(n-2) = r(n)
r(n-1) = r(n+1)
r(n) = s1
r(n+1) = s2
end if

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 8:36:00 [只看该作者]

非常感谢老师,那么右移怎么改,全指望你啦图片点击可在新窗口打开查看
dim t as table = tables("表A")
dim r as row = t.current
dim n as integer = t.colsel
dim c as col = t.cols(n)
if c.name like "*专业_*" andalso not(c.name like "第六专业_*") then
if c.name like "*_专业名称" then
n = n -1
c = t.cols(n)
end if
dim s1 as string = r(n-2)
dim s2 as string = r(n-1)
r(n-2) = r(n)
r(n-1) = r(n+1)
r(n) = s1
r(n+1) = s2
end if

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 8:38:00 [只看该作者]

然后老师你在帮我看一下这个呗

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240530195938.jpg
图片点击可在新窗口打开查看
大神老师,想把除某些列外选定行连续上或下移动,按钮事件代码怎么改啊

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

要把选定行除批次和序号这两列外其它列内容能连续上移或下移(上移按钮和下移按钮事件),这个怎么改图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 8:49:00 [只看该作者]

以下是引用tygzjsl在2024/5/31 8:36:00的发言:
非常感谢老师,那么右移怎么改,全指望你啦图片点击可在新窗口打开查看
左移的说明
dim t as table = tables("表A")
dim r as row = t.current
dim n as integer = t.colsel
dim c as col = t.cols(n)
if c.name like "*专业_*" andalso not(c.name like "第六专业_*") then 判断选中的是不是专业单元格
if c.name like "*_专业名称" then 如果选中列的是专业名称
n = n -1 定位到代码单元格
c = t.cols(n)
end if
这里开始互换位置
dim s1 as string = r(n-2) 上一个专业的代码
dim s2 as string = r(n-1) 上一个专业的专业名称
r(n-2) = r(n) 左移代码
r(n-1) = r(n+1) 左移专业名称
r(n) = s1 上一个专业代码右移
r(n+1) = s2 上一个专业名称右移
end if

根据上面说明,参照下图,自己思考右移应该怎么改

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

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 8:51:00 [只看该作者]

以下是引用tygzjsl在2024/5/31 8:38:00的发言:
然后老师你在帮我看一下这个呗

要把选定行除批次和序号这两列外其它列内容能连续上移或下移(上移按钮和下移按钮事件),这个怎么改图片点击可在新窗口打开查看

参考:http://www.foxtable.com/webhelp/topics/1793.htm

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:02:00 [只看该作者]

你真的是一个好老师!!!!图片点击可在新窗口打开查看
Dim t As Table = Tables("填报表")
Dim r As Row = t.current
Dim n As Integer = t.colsel
Dim c As Col = t.cols(n)
If c.name Like "*专业_*" AndAlso not(c.name Like "第六专业_*") Then
If c.name Like "*_专业名称" Then
n = n -1
c = t.cols(n)
End If

Dim s1 As String = r(n+2)
Dim s2 As String = r(n+3)
r(n+2) = r(n) 
r(n+3) = r(n+1)
r(n) = s1
r(n+1) = s2
End If

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:25:00 [只看该作者]

With CurrentTable
    .Current.Move(.Position - 1)
End With
这个代码!但要除了批次和序号不动,只动其它怎么改,谢谢图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 9:27:00 [只看该作者]

那就只能使用4楼的用法,这个用法有啥问题?

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


加好友 发短信
等级:童狐 帖子:209 积分:1640 威望:0 精华:0 注册:2018/3/5 10:34:00
  发帖心情 Post By:2024/5/31 9:29:00 [只看该作者]

上移是这个代码
With CurrentTable
    .Current.Move(.Position - 1)
End With

下移是+1,但要除了批次和序号内容不动,只移动其它行内容怎么改,谢谢

 回到顶部
总数 22 1 2 3 下一页