以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]项目管理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178203)

--  作者:qq51837000
--  发布时间:2022/6/23 10:26:00
--  [求助]项目管理
老师帮我看看:我按帮助里的例子做了一个多项目的甘特图,在删除分解任务时总提示出错,不知道怎么解决了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目管理.foxdb



--  作者:有点蓝
--  发布时间:2022/6/23 11:10:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目管理.zip


--  作者:qq51837000
--  发布时间:2022/6/23 11:24:00
--  
刚打开项目点击父表的行时,又出现这个错误提示

图片点击可在新窗口打开查看此主题相关图片如下:截图_20220623111936.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/6/23 11:31:00
--  
我这边测试没有问题,删除项目里的bin目录,重启项目试试

或者改改PositionChanged事件
If Forms("项目管理").Opened Then 
    DrawGannt = False
    Functions.Execute("BuildGanttTable")
    DrawGannt = True
End if

--  作者:qq51837000
--  发布时间:2022/6/23 11:37:00
--  
问题已解决,感谢蓝老师!
--  作者:qq51837000
--  发布时间:2022/7/12 17:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目管理.foxdb

麻烦老师再看一下,上次修改后使用挺正常的,更新了FT版本后,打开项目选择不同行后又出现跟上次相同的错误提示

--  作者:有点蓝
--  发布时间:2022/7/12 17:04:00
--  
我测试没有问题。按照什么步骤测试?
--  作者:qq51837000
--  发布时间:2022/7/12 17:31:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:123456.gif
图片点击可在新窗口打开查看
就这样直接打开,选择上面的行,就弹出了。
如果重新应用窗口打开就没有提示

--  作者:有点蓝
--  发布时间:2022/7/12 17:49:00
--  
已反馈
--  作者:有点蓝
--  发布时间:2022/7/13 10:08:00
--  
drawcell事件改为:

If DrawGannt Then
    If e.Row.Index >= 0 Then
        Dim r As Row = Tables("项目管理.项目任务").Rows(e.Row.Index)
        Dim str1 As String = r("开始日期")
        Dim str2 As String = r("结束日期")
        Dim dt1 As Date 
        Dim dt2 As Date 
        
        If Date.TryParse(str1, dt1) AndAlso Date.TryParse(str2, dt2) Then
            Dim dta As Date = e.Col.Name.Replace("年", "-").Replace("月_", "-")
            If dta >= dt1 AndAlso dta <= dt2 Then
                e.StartDraw()
                If dta < Date.Today Then
                    e.Graphics.FillRectangle(Brushes.Green, e.x , e.y + 3, e.Width, e.Height - 7)
                Else
                    e.Graphics.FillRectangle(Brushes.Red, e.x , e.y + 3, e.Width, e.Height - 7)
                End If
                e.EndDraw()
            End If 
        End If 
        
    End If 
End If