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


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

主题:甘特图使用

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


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

报什么错

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


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

Dim dt As Date = Date.Today.AddDays(-50)
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
能不在帮忙看看这个吗?点击 Table4 拉动条会自动变到另外一个位置,感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2017/9/4 21:40: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

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


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

[此贴子已经被作者于2017/9/4 21:41:05编辑过]

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


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

如果不想联动,就去掉AfterScroll的代码

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


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

好的 感谢 感谢 ,
如果把红色的代码增加为已经超过了当天到事件日期天列 30天,当行的行号也显示黄色的,这个可以吗?感谢 感谢 
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

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


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

是arterscroll还是mouseleavecell,我把这两个里面的代码都取消了还是会联动呢 ?感谢 感谢 ,太麻烦你了。

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/9/4 22:14: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)
        ElseIf r("事件日期").AddDays(30) < Date.Today
            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
End If

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


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

就是时间日期超过30天,在状态列还是未处理,就复制一个黄点在列号旁边或者这座列号,感谢 感谢 

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


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


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

AfterLoad事件,写代码

 

For i As Integer = 0 To t.DataTable.basetable.rows.count-1
    Dim dr = t.DataTable.basetable.rows(i)
    Dim r As Row  = Tables("计划表窗口_Table4").Rows(i)
    Dim fdr As DataRow = DataTables("事件记录").find("事件日期<=#" & Date.Today.AddDays(-30) & "# and 项目名称='" & r("项目名称") & "' and 项目流程='" & r("项目流程") & "' and 处理情况='未处理'")
    If fdr IsNot Nothing Then
        dr.RowError = fdr("事件日期")
    End If
Next


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


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

能帮忙看看吗?感谢 感谢 

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


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