以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]甘特图绘制。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67533)
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 16:35:00
-- [求助]甘特图绘制。
按照教程中的“编码绘制甘特图”,出现了调用目标错误的提示,
错误所在事件:表,项目任务明细表窗口_Table2,DrawCell 详细错误信息: 调用的目标发生了异常。 从字符串“第一列”到类型“Date”的转换无效。
同时 在该窗口的afterload事件中加入代码,(代码见教程),系统提示“不存在项目任务明细表窗口_Table2,”
[此贴子已经被作者于2015/4/25 16:42:01编辑过]
|
-- 作者:Bin
-- 发布时间:2015/4/25 16:46:00
--
你DrawCell事件代码没写对. 代码发出来.
第二个问题你表名没写对.
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 16:55:00
--
drawcell代码:
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 e.EndDraw() End If End If
|
-- 作者:Bin
-- 发布时间:2015/4/25 16:59:00
--
Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
出错肯定是这句代码. 你检查你的列名 如果你的列名是"第一列" 那么后面的代码操作之后 还是第一列 "第一列" 这个字符串 当然无法转换为日期.肯定会报错.
你看一下帮助的列名是什么规格的,就明白了
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 16:59:00
--
此主题相关图片如下:无标题3.jpg
|
-- 作者:Bin
-- 发布时间:2015/4/25 17:06:00
--
项目任务明细表窗口_窗口控件名 你选择那个表控件看看名称是啥
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 17:08:00
--
bin:
那句代码的意思,就是说:将开始时间和结束时间这个两个列进行转换,对吗?我的“任务明细表”中这两个列均为日期列啊
[此贴子已经被作者于2015/4/25 17:07:59编辑过]
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 17:10:00
--
控件名为“table2”
|
-- 作者:Bin
-- 发布时间:2015/4/25 17:14:00
--
大小写是区分的哦
|
-- 作者:liuxianjie1980
-- 发布时间:2015/4/25 17:27:00
--
老大啊,都是大写的,应该没有问题啊,我想再笨的话,有些基本的东西我还是不会出错的,到底怎么回事呢?
还有,上面提到的所谓第一列,应该指的是table2的第一列吗?
|