Foxtable(狐表)用户栏目专家坐堂 → 甘特图使用


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

主题:甘特图使用

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/3 21:59:00 [只看该作者]

你的窗口试模式窗口?改成独立窗口,不是有赋值代码么?表格的doubleClick事件。


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/3 22:05:00 [只看该作者]

谢谢 谢谢 找到原因了 感谢 

[此贴子已经被作者于2017/9/3 22:07:23编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 1:05:00 [只看该作者]

如果在选择拉动条的时候会显示这个?
这个是因为那里没有输入吗?
但是如果 计划表窗口_Table4 筛选日期列不等于空白就不会了
你帮忙做的例子即使 日期列没有输入也会不会出现啊
.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.6.12.1
错误所在事件:自定义函数SetGanntLeftCol
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/4 9:20:00 [只看该作者]

修改代码

 

If Forms("窗口1").Opened()
    Dim t1 As Table = Tables("任务")
    Dim t2 As Table = Tables("窗口1_Table2")
    If t1.TopVisibleRow >=0 Then
        Dim r As Row = t1.Rows(t1.TopVisibleRow)
        Dim dt As Date = r("开始日期")
        If dt = Nothing Then Return
        Dim nm As String = dt.Year & "年" & dt.Month &"月_" & dt.Day
        Dim idx As Integer= t2.cols(nm).Index
        t2.LeftVisibleCol = idx
    End If
End If


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 12:36:00 [只看该作者]

谢谢 谢谢 ,甘特图可以定位到某天吗?比如甘特图有几年的时间,把列宽控制了,打开加重窗口后,甘特图的拉动条就以当天的时间固定到某个位置。
2、当鼠标放到甘特图的计划条时,可以显示出 同行对应 项目内容的字符吗?感谢 感谢 。

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

[此贴子已经被作者于2017/9/4 12:36:25编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/4 12:51:00 [只看该作者]

 请上传对应项目具体说明问题。

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 20:21:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:甘特图使用 (1).table

不好意思,能帮忙看看吗?
当光标移到绿色的部分时候,根据相同的项目名称、项目流程,显示出项目内容,办理人,备注,当鼠标移开就消失了,和饼图表一样。
加载窗口后,当天的日期显示到黑线的位置,感谢 感谢 
又麻烦你了?
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170904201946.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/9/4 20:23:53编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 20:46:00 [只看该作者]


If DrawGannt AndAlso e.Row.Index >= 0 AndAlso e.Row.Index < Tables("计划表窗口_Table4").Rows.count Then
    Dim r As Row  = Tables("计划表窗口_Table4").Rows(e.Row.Index)
    Dim dt1 As Date = r("计划_开始日期")
    Dim dt2 As Date = iif(r.Isnull("计划_完成日期"), Date.Today, r("计划_完成日期"))
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    If dt>=dt1 AndAlso dt<=dt2 Then
        e.StartDraw()
        If dt < Date.Today Then
            e.Graphics.FillRectangle(Brushes.Green,e.x ,e.y + 5, e.Width, e.Height - 10)
        Else
            e.Graphics.FillRectangle(Brushes.Red,e.x ,e.y + 3, e.Width, e.Height - 7)
        End If
        e.EndDraw()
    End If
    Dim dt3 As Date = r("进行_开始日期")
    Dim dt4 As Date = iif(r.Isnull("进行_完成日期"), Date.Today, r("进行_完成日期"))
    If dt>=dt3 AndAlso dt<=dt4 Then
        e.Graphics.FillRectangle(Brushes.Black,e.x ,e.y + 8, e.Width, e.Height - 18)
    End If
    Dim fdr As DataRow = DataTables("事件记录").find("事件日期=#" & dt & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "' and 处理情况='未处理'")
    If fdr IsNot Nothing Then
        e.Graphics.FillRectangle(Brushes.yellow,e.x ,e.y, e.Width, e.Height)
    End If
End If

能帮忙把这段改改吗?就当事件记录表 同项目名称、项目流程相同 的事件日期 超过了 30天就在行号显示(Brushes.yellow,e.x ,e.y, e.Width, e.Height)图标。感谢 感谢 


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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/9/4 20:53:00 [只看该作者]

1、提示
窗口表MouseEnterCell事件
If DrawGannt AndAlso e.Row.Index >= 0 AndAlso e.Row.Index < Tables("计划表窗口_Table4").Rows.count Then
    Dim r As Row  = Tables("计划表窗口_Table4").Rows(e.Row.Index)
    Dim dt1 As Date = r("计划_开始日期")
    Dim dt2 As Date = iif(r.Isnull("计划_完成日期"), Date.Today, r("计划_完成日期"))
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    If dt>=dt1 AndAlso dt<=dt2 Then
        e.Table.ShowToolTip(r("办理人"),e.Row,e.Col)
    End If
End If

窗口表MouseLeaveCell
If DrawGannt AndAlso e.Row.Index >= 0 AndAlso e.Row.Index < Tables("计划表窗口_Table4").Rows.count Then
    Dim r As Row  = Tables("计划表窗口_Table4").Rows(e.Row.Index)
    Dim dt1 As Date = r("计划_开始日期")
    Dim dt2 As Date = iif(r.Isnull("计划_完成日期"), Date.Today, r("计划_完成日期"))
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    If dt>=dt1 AndAlso dt<=dt2 Then
    Else
        e.Table.HideToolTip()
    End If
End If

2、窗口afterload事件

Dim dt As Date = Date.Today.AddDays(-27)
Dim t = e.Form.controls("Table9").Table
Dim name = dt.Year & "年" & dt.Month & "月_" & dt.Day
If t.Cols.contains(name) Then
    t.Select(0,t.Cols.Count-1,0,t.Cols.Count-1)
    t.Select(0, t.cols(name).Index)
End If

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 21:13:00 [只看该作者]

不得不佩服,你们太强大了,谢谢 可以了 只是 加载窗口报错是什么原因啊 
我检查代码是一样的啊
If Forms("计划表窗口").Opened()
    Dim t1 As Table = Tables("计划表窗口_Table4")
    Dim t2 As Table = Tables("计划表窗口_Table9")
    If t1.TopVisibleRow >=0 Then
        Dim r As Row = t1.Rows(t1.TopVisibleRow)
        Dim dt As Date = r("计划_开始日期")
        Dim nm As String = dt.Year & "年" & dt.Month &"月_" & dt.Day
        Dim idx As Integer= t2.cols(nm).Index
        t2.LeftVisibleCol = idx
    End If
End If '甘特图代码十二分之一

感谢 感谢 

 回到顶部
总数 111 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..12