Foxtable(狐表)用户栏目专家坐堂 → [求助]请教关于表列标题的问题


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

主题:[求助]请教关于表列标题的问题

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


加好友 发短信
等级:幼狐 帖子:73 积分:661 威望:0 精华:0 注册:2014/1/4 8:03:00
[求助]请教关于表列标题的问题  发帖心情 Post By:2014/2/6 8:04:00 [只看该作者]

我在学习狐表的过程中遇到一个难题不知道如何实现请教各位大大:
1、我的表A为公用信息表,里面有A,B,C,D四行
2、表B我想用ABCD四行的第一个标示来作为列标题,不知道如何实现。
并且还有这样的情况,表A的行数我还会增加需要动态的增加表B的列,谢谢!

祝大家新年快乐!


 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/6 10:00:00 [只看该作者]

论坛中有例子,可以自行搜索一下。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/6 10:32:00 [只看该作者]

If DataTables.Contains("动态表列") = False Then
    Dim Builder As New ADOXBuilder
    Dim tbl As ADOXTable
    Builder.Open()
    tbl = Builder.NewTable("动态表列") '创建表
    With tbl
        For Each r As Row In Tables("表A").Rows
            If r("证书编号") > "" Then
                .AddColumn(r("证书编号") ,ADOXType.String, 16)
            End If
        Next
    End With
    Builder.AddTable(tbl) '增加表
    Builder.Close()
    Syscmd.Project.Open(ProjectFile)
Else
    Dim str1,str2 As String
    For Each r As Row In Tables("表A").Rows
        If r("证书编号") > "" Then
            str1 + = r("证书编号") & "|"
        End If
    Next
    For Each dc As DataCol In DataTables("动态表列").DataCols
        str2 + = dc.Name & "|"
    Next
    If str1 <> str2 Then
        Dim Builder As New ADOXBuilder
        Builder.Open() '打开ADOXBuilder
        With Builder.Tables("动态表列")
            For Each r As Row In Tables("表A").Rows
                If r("证书编号") > "" AndAlso str2.Contains(r("证书编号")) = False Then
                    .AddColumn(r("证书编号") ,ADOXType.String, 16)
                End If
            Next
            For Each s As String In str2.Trim("|").Split("|")
                If str1.Contains(s) = False Then
                    With Builder.Tables("动态表列")
                        .DeleteColumn(s)
                    End With
                End If
            Next
        End With
        Builder.Close() '关闭ADOXBuilder
        Syscmd.Project.Open(ProjectFile)
    End If
End If

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


加好友 发短信
等级:童狐 帖子:212 积分:4203 威望:0 精华:0 注册:2013/10/1 14:00:00
  发帖心情 Post By:2014/2/7 6:44:00 [只看该作者]

真心谢谢

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


加好友 发短信
等级:童狐 帖子:212 积分:4203 威望:0 精华:0 注册:2013/10/1 14:00:00
  发帖心情 Post By:2014/2/7 6:51:00 [只看该作者]

如果反过来做,怎么写,谢谢

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/7 8:15:00 [只看该作者]

反过来也是差不多的,你不可以使用系统菜单的增加列,而是使用自己编码的按钮.

增加列的代码3楼LSY已经给你写了. 增加完毕后,再使用代码添加一行即可.

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


加好友 发短信
等级:婴狐 帖子:3 积分:86 威望:0 精华:0 注册:2015/1/1 19:44:00
  发帖心情 Post By:2015/1/2 21:47:00 [只看该作者]

还在吗,可以qq联系,我能解决你说的问题。1284524409

 回到顶部