Foxtable(狐表)用户栏目专家坐堂 → [求助]这个甘特图问题不知道是否能实现


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

主题:[求助]这个甘特图问题不知道是否能实现

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]这个甘特图问题不知道是否能实现  发帖心情 Post By:2020/8/28 10:08:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200828100143.jpg
图片点击可在新窗口打开查看
1.希望根据table1的时间节点,对颜色进行切分,实现渐变的效果。
2.如果在table1里面增加时间列,也能实现此功能,而不需要修改代码。
密码888
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:甘特图问题.table



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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/28 10:23:00 [只看该作者]

需要添加多个时间列,用于区分不同的时间段。

比如有时间列:日期1,日期2,日期3,日期4
日期1<时间段1<日期2、日期2<时间段2<日期3、日期3<时间段3<日期4
然后在代码里判断,如果当前列表示的日期在时间段1内就绘制颜色1,在时间段2内就绘制颜色2,以此类推

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/8/28 10:44:00 [只看该作者]

就是必须把所有时间段都列出来吗?我是想用 isdate 的方法循环,因为正式的程序里面的时间段,会动态增加列的。
我是这么把时间列加进来的。但是后面的关于时间判断的循环,写的就有问题了。

        For Each c As Col In Tables("项目分配_table1").Cols
            If c.IsDate Then
                If cr.IsNull(c.Name)=False Then
                    Datet.Add(cr(c.Name))
                End If
            End If
        Next

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


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

实例没看到有动态增加列的用法,重新上传符合需要的功能和数据的实例测试

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/8/28 11:31:00 [只看该作者]

这个测试的时候,手动添加的。其实就是需要代码能够循环
目前的思路是。把所有的时间都添加 到一个list 中,然后进行排序。
然后根据这个list 的数量,把下图的颜色范围进行切分。然后设置成不同颜色的brush,将这些brush 加入到一个list里面

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
最后进行循环匹配。现在问题就出在这个循环匹配上。前面的时间匹配到的颜色,会被后面的覆盖。

 For i As Integer =  1 To Datet.Count-1 '---循环
                    msgbox(Datet(i) )
                    If dt < Datet(i) Then
                        e.Graphics.FillRectangle(blue ,e.x ,e.y + 5, e.Width, e.Height - 13)
                        
                        'Datet.Remove(Datet(i))
                        'BRS.Remove(BRS(i))
                        Exit For
                    Else
                        
                        If i<=Datet.Count-2 Then
                            If dt >= Datet(i) AndAlso dt<=Datet(i+1) Then
                                e.Graphics.FillRectangle(brred,e.x ,e.y + 3, e.Width, e.Height - 8)
                                Exit For
                            End If
                        End If
                        If dt > Datet(Datet.Count-1) AndAlso dt<=dt2 Then
                            
                            e.Graphics.FillRectangle(gray,e.x ,e.y + 3, e.Width, e.Height - 8)
                            Exit For
                        End If
                        
                        e.EndDraw()
                        
                    End If
                Next


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


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

实例

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/8/28 11:45:00 [只看该作者]

1楼有实例,,我又简化了一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:甘特图问题.table

密码888
[此贴子已经被作者于2020/8/28 11:45:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/28 12:13:00 [只看该作者]

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


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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/8/28 14:03:00 [只看该作者]

感谢

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


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2020/8/28 14:44:00 [只看该作者]

有一个扩展问题,,我把table2的属性设置成allowededit=true ,但是打字上去之后,字是看不到的。这个能处理吗

 回到顶部
总数 13 1 2 下一页