Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格调整2,内祥!


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

主题:[求助]单元格调整2,内祥!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 15:20:00 [显示全部帖子]

For Each r As Row In Tables("表A").Rows
    For Each c As Col In r.Table.Cols
        If r.IsNull(c.name) = False Then
            Dim n As Integer = -1
            For i As Integer = c.Index-1 To 0 Step -1
                If i = 0 AndAlso r.Isnull(i) Then
                    n = 0
                ElseIf r.IsNull(i) = False Then
                    n = i+1
                    Exit For
                End If
            Next
            If n > -1 Then
                Dim fdr As DataRow = DataTables("表B").find("行 = '" & r.index+1 & "' and 列 = '" & c.name & "'")
                If fdr Is Nothing Then
                    fdr = DataTables("表B").addnew
                    fdr("行") = r.Index+1
                End If
                fdr("列") = r.Table.Cols(n).name
                r(n) = r(c.name)
                r(c.name) = Nothing
            End If
        End If
    Next
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 17:01:00 [显示全部帖子]

For Each r As Row In Tables("表A").Rows
    For Each c As Col In r.Table.Cols
        If r.IsNull(c.name) = False Then
            Dim n As Integer = -1
            For i As Integer = c.Index-1 To 0 Step -1
                If i = 0 AndAlso r.Isnull(i) Then
                    n = 0
                ElseIf r.IsNull(i) = False Then
                    If r.Isnull(i+1) Then
                        n = i+1
                    End If
                    Exit For
                End If
            Next
            If n > -1 Then
                Dim fdr As DataRow = DataTables("表B").find("行 = '" & r.index+1 & "' and 列 = '" & c.name & "'")
                If fdr Is Nothing Then
                    fdr = DataTables("表B").addnew
                    fdr("行") = r.Index+1
                End If
                fdr("列") = r.Table.Cols(n).name
                r(n) = r(c.name)
                r(c.name) = Nothing
            End If
        End If
    Next
Next

 回到顶部