以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]新的Gantt图报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194057)

--  作者:zhutangxin
--  发布时间:2024/11/6 18:18:00
--  [求助]新的Gantt图报错
老师,在绑定 Gantt 图与 Sql server 表中的表时,此时,后台数据库是用程序带的Sql刚建的,4个表都没有数据。绑定后,在编辑 Gantt 图(输入任务名称)时,报以下错误

图片点击可在新窗口打开查看


代码如下:
    If DataTables.Contains("Tasks") = False Then
        Dim t As New OuterTableBuilder
        t.TableName = "Tasks"
        t.C
        t.SelectString = "SE LECT * FR OM dbo.Tasks"
        t.Build
    Else
        DataTables("Tasks").Load()
    End If
    
    If DataTables.Contains("Resources") = False Then
        Dim t As New OuterTableBuilder
        t.TableName = "Resources"
        t.C
        t.SelectString = "SEL ECT * FR OM dbo.Resources"
        t.Build
    Else
        DataTables("Resources").Load()
    End If
    
    If DataTables.Contains("Calendars") = False Then
        Dim t As New OuterTableBuilder
        t.TableName = "Calendars"
        t.C
        t.SelectString = "SEL ECT * FR OM dbo.Calendars"
        t.Build
    Else
        DataTables("Calendars").Load()
    End If
    
    If DataTables.Contains("Properties") = False Then
        Dim t As New OuterTableBuilder
        t.TableName = "Properties"
        t.C
        t.SelectString = "SEL ECT * FR OM dbo.Properties"
        t.Build
    Else
        DataTables("Properties").Load()
    End If 
    
    Dim gv As GanttView = e.Form.Controls("GanttView1").GanttView
    gv.PropertyDataTable = DataTables("Properties") \'甘特图属性设置存储在Properties表中
    gv.CalendarDataTable = DataTables("Calendars") \'甘特图的日历设置存储在Calendars表中
    gv.ResourceDataTable = DataTables("Resources") \'甘特图的资源设置存储在Resources表中
    gv.TaskDataTable = DataTables("Tasks") \'甘特图的任务数据存储在Tasks表中
    gv.LoadSettings() \'从数据表中加载设置

--  作者:有点蓝
--  发布时间:2024/11/7 9:40:00
--  
已反馈
--  作者:zhutangxin
--  发布时间:2024/11/12 10:21:00
--  
这个bug 什么时候可以修复,正在用新的 Gantt 图在做一个项目,成员之间无法基于统一的数据(后台数据)生成任务。现在以 Xml 形式各自管理,作为项目经理要集成大家的修改,实在太麻烦了。
--  作者:有点蓝
--  发布时间:2024/11/12 10:47:00
--  
甘特图自己的bug。这样处理一下,绑定前先清空一下任务

Dim gv As GanttView = e.Form.Controls("GanttView1").GanttView
gv.Tasks.Clear
gv.PropertyDataTable = DataTables("Properties") \'甘特图属性设置存储在Properties表中
gv.CalendarDataTable = DataTables("Calendars") \'甘特图的日历设置存储在Calendars表中
gv.ResourceDataTable = DataTables("Resources") \'甘特图的资源设置存储在Resources表中
gv.TaskDataTable = DataTables("Tasks") \'甘特图的任务数据存储在Tasks表中
gv.LoadSettings() \'从数据表中加载设置

--  作者:zhutangxin
--  发布时间:2024/11/12 15:15:00
--  
测试了一下,这方法是可行的。谢谢