以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 生产进度 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28245) |
||||
-- 作者:ppxxww -- 发布时间:2013/1/23 12:06:00 -- 生产进度 你好!能否在日期进度条上增加生产进度色条 生产进度色条:起点捆绑在项目的“开始日期” 终点是动态的,转换关系=(生产周期/生产任务)×当日累计
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/23 12:41:00 -- 做一个大概,小数就不弄了。
|
||||
-- 作者:ppxxww -- 发布时间:2013/1/23 12:45:00 -- 林老师,谢谢您! |
||||
-- 作者:hanxuntx -- 发布时间:2013/1/23 14:06:00 -- 收藏 |
||||
-- 作者:ppxxww -- 发布时间:2013/1/23 14:47:00 -- 林老师,您好! 在“关系=(生产周期/生产任务)×当日累计”中, 当“当日累计=生产任务”,
当日累计 /生产任务=1, 那么关系式=(生产周期/生产任务)×当日累计=生产周期 那么黑色条的长度应该与结束日期平齐 [此贴子已经被作者于2013-1-23 14:55:12编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/23 15:03:00 -- 简单改一下代码就可以了 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("月_","-") 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 If r.IsNull("生产任务") = False Then Dim day As Integer = r("生产周期") / r("生产任务") * r("当日累计") If dt < dt1.AddDays(day) Then e.Graphics.FillRectangle(Brushes.Yellow,e.x ,e.y + 8, e.Width, e.Height - 16) End If End If e.EndDraw() End If End If [此贴子已经被作者于2013-1-23 15:03:52编辑过]
|
||||
-- 作者:gsnake -- 发布时间:2013/1/23 15:22:00 -- 学习阶段!帮你顶 |
||||
-- 作者:ppxxww -- 发布时间:2013/1/23 15:50:00 -- 您好!林老师,中间色条,能否致尽头 [此贴子已经被作者于2013-1-23 15:51:29编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/23 16:04:00 -- 以下是引用ppxxww在2013-1-23 15:50:00的发言:
您好!林老师,中间色条,能否致尽头 [此贴子已经被作者于2013-1-23 15:51:29编辑过]
呃,楼主,要进步啊。 If dt <= dt1.AddDays(day) Then [此贴子已经被作者于2013-1-23 16:07:59编辑过]
|
||||
-- 作者:ppxxww -- 发布时间:2013/1/24 8:52:00 -- 林老师,早上好! 1)当天累计=0时,中间就开始存在“生产进度条” 2)“关系=(生产周期/生产任务)×当日累计”为小数时,能否按“四舍五入”取整数
[此贴子已经被作者于2013-1-24 9:24:03编辑过]
|