以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在单元格绘制甘特图(增加进度条) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80173) |
-- 作者:一笑 -- 发布时间:2016/1/18 8:47:00 -- 在单元格绘制甘特图(增加进度条) 按照帮助文件http://www.foxtable.com/help/index.html?n=0395.htm#userconsent#(在单元格绘制甘特图)任务表中增加了“进度”列(整数),想在单元格中画出进度颜色(gold),代码如下,有个问题,当进度为100时,表现正确,但小于100时,则进度条比例不正确,求解,谢谢 If DrawGannt Then Dim r As Row = Tables("任务").Rows(e.Row.Index) Dim dt1 As Date = r("启动日期") Dim dt2 As Date = r("完成时间") Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-") Dim t2 As Table = e.Table Dim nm As String = dt2.Year & "年" & dt.Month &"月_" & dt.Day Dim idx As Integer= t2.cols(nm).Index Dim idx1 As Integer= idx * r("进度")\\100 If dt>=dt1 AndAlso dt<=dt2 Then e.StartDraw() If dt < Date.Today Then e.Graphics.FillRectangle(Brushes.springGreen,e.x ,e.y + 5, e.Width, e.Height - 10) Else e.Graphics.FillRectangle(Brushes.lightskyblue,e.x ,e.y + 3, e.Width, e.Height - 10) End If If dt>=dt1 AndAlso dt <= t2.cols(idx1).Name.Replace("年","-").Replace("月_","-") Then e.Graphics.FillRectangle(Brushes.gold,e.x ,e.y + 2, e.Width, e.Height - 10) End If e.EndDraw() End If End If |
-- 作者:Hyphen -- 发布时间:2016/1/18 8:51:00 -- 上传完整例子测试 |
-- 作者:大红袍 -- 发布时间:2016/1/18 9:10:00 -- 汗,人家的例子,是根据日期时间绘制的,跟你的进度一点关系都没有。 |
-- 作者:大红袍 -- 发布时间:2016/1/18 9:13:00 -- 具体怎么显示不对,上传实例测试。 |
-- 作者:一笑 -- 发布时间:2016/1/18 20:47:00 -- 先自己试试再上传,问一个其他问题: 当鼠标放在甘特图上时,想用ShowToolTip显示左边“任务”表中“任务内名称”单元格的内容,谢谢
|
-- 作者:大红袍 -- 发布时间:2016/1/18 20:57:00 -- 试试
If DrawGannt Then |
-- 作者:一笑 -- 发布时间:2016/1/20 14:01:00 -- 进度条问题已解决,用我最初的方案就可以(原来是日期字符错了)。 另一个问题,求解:
当鼠标放在甘特图上时,想用ShowToolTip显示左边“任务”表中“任务内名称”单元格的内容,谢谢 |
-- 作者:大红袍 -- 发布时间:2016/1/20 14:14:00 -- Dim r As Row = Tables("任务").Rows(e.Row.Index) e.Table.ShowToolTip(r("任务名称"),e.Row,e.Col)
http://www.foxtable.com/help/topics/2681.htm
|