Foxtable(狐表)用户栏目专家坐堂 → 关于列顺序批量调整的求助(商业版与开发版)


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

主题:关于列顺序批量调整的求助(商业版与开发版)

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/13 13:08:00 [显示全部帖子]


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/13 14:22:00 [显示全部帖子]

Dim n As Integer
Dim s1 As String
m = Tables("窗口1_Table1").Cols("F1").Index
k = Tables("尺码档案").rows.count
For i As Integer = 1 To k

    s1 = s1 & i & "," & Tables("采购明细").Cols("F" & i).Caption & "|"
Next

For Each r As Row In Tables("尺码档案").rows
    For i As Integer = s1.split("|").length -1 To 1 Step -1
        If  Tables("窗口1_Table1").Cols("F" & i).Caption = r("尺码名称")  'output.show(r.Index)

            Tables("窗口1_Table1").Cols("F" & i).Move(s1.split("|").length -1)

            Exit For
        End If
n=n+1
    Next
Next

 

多余东西你自己删除


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/13 14:51:00 [显示全部帖子]

简化了:

For Each r As Row In Tables("尺码档案").rows
    For i As Integer = 18 To 1 Step -1
        If  Tables("窗口1_Table1").Cols("F" & i).Caption = r("尺码名称")
            Tables("窗口1_Table1").Cols("F" & i).Move(18)
            Exit For
        End If
    Next
Next


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/13 14:54:00 [显示全部帖子]

blackzhu的代码一行, 只要按楼主的结构状态改一点:Tables("窗口1_Table1").Cols("F" & i).Move(n+1)

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/13 15:08:00 [显示全部帖子]

ybil 版主的好,上面所有的代码,前面再加上下面的有无敌了。无论怎么打乱列的秩序都没问题了。

Tables("窗口1_Table1").Cols("单号").Move(0)

Tables("窗口1_Table1").Cols("备注").Move(Tables("窗口1_Table1").Cols.count-1)


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/14 13:48:00 [显示全部帖子]

t.FindRow(dr) 只要Tables("窗口1_Table1")中的行数足够(比列数多)就没有问题,因为Dim wz As Integer = t.FindRow(dr)只是要个行号而已。

 

关键是Names(wz) = c.Name 怎么Names(wz) 到


For i As Integer = 0 To Names.Length -1
    s & = "|" & Names(i) & "|-1"
Next

里面就能够自动排序了,我还没弄明白····


[此贴子已经被作者于2011-9-14 13:49:51编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/14 16:45:00 [显示全部帖子]

以下是引用czy在2011-9-14 16:33:00的发言:

 

wz是行号,Names是数组,是将取到的行号添加到数组集合中。

 

假设wz等于10,c.Name等于A,Names(wz) = c.Name,就是将名称为“A”添加到数组中第十一的位置。

呵呵,明白了···  谢谢 C 版!


 回到顶部