Foxtable(狐表)用户栏目专家坐堂 → 自动增加列


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

主题:自动增加列

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


加好友 发短信
等级:幼狐 帖子:83 积分:918 威望:0 精华:0 注册:2019/9/20 14:29:00
自动增加列  发帖心情 Post By:2020/4/22 11:25:00 [只看该作者]

在DataColChanged事件里编写了如下代码,还是无法实现自动增加列,请老师帮忙看看代码哪里写错了!

Select Case e.DataCol.Name
    Case "预计完工日期"
        Dim tbl1 As DataTable = DataTables("生产计划_订单表")
        Dim EndDate1 As Date = tbl1.SQLCompute("Max(预计完工日期)")
        If e.NewValue > EndDate1 Then
            Dim dt As Date = EndDate1
            Do
                Dim nm As String = "甘特图" & dt.Year & "年" &  dt.Month & "月_" & dt.Day + 1
                Dim Builder As New ADOXBuilder
                Builder.Open() '打开ADOXBuilder
                With Builder.Tables("生产计划_订单表甘特图")
                    .AddColumn(nm,ADOXType.String,16)
                End With
                Builder.Close()
                dt = dt.Adddays(1)
                If dt > e.NewValue Then
                    Exit Do
                End If
            Loop
            For Each cl As Col In Tables("生产计划_订单表甘特图").Cols
                cl.width = 20
            Next
            For Each dd As DataTable In DataTables
                dd.Save()
            Next
        End If
End Select


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


加好友 发短信
等级:六尾狐 帖子:1341 积分:9755 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2020/4/22 11:29:00 [只看该作者]

              Dim Builder As New ADOXBuilder
                Builder.Open() '打开ADOXBuilder
                With Builder.Tables("生产计划_订单表甘特图")
                    .AddColumn(nm,ADOXType.String,16)
                End With
                Builder.Close()
 
用以下代码代替试试
Tables("生产计划_订单表甘特图").datatable.datacols.add(nm,gettype(string),16)

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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/22 11:35:00 [只看该作者]

甘特图应该是使用临时列绘制的吧。使用datacols.add。如果要添加永久列,需重启项目才有效 

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


加好友 发短信
等级:幼狐 帖子:83 积分:918 威望:0 精华:0 注册:2019/9/20 14:29:00
  发帖心情 Post By:2020/4/22 13:33:00 [只看该作者]

需要增加的永久列,用这个方法增加的是临时列,重新打开项目,之前增加的列又消失了

请问老师我还需要怎么修改代码呀?

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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/4/22 14:33:00 [只看该作者]

增加的永久列,只能是数据表才有用。临时表不能的

是不是在外部表管理中限制了只加载部分列?http://www.foxtable.com/webhelp/topics/1815.htm,添加所有列,点击确定看看

 回到顶部