甘特图可以用来做什么?因为它能很清晰地展现任务进程,进行进度管理,因此它的用途总是离不开这几处地方:
- 项目概况展现;
- 项目任务的计划安排;
- 设计关键路径;
- 提供日程安排的建议;
- 项目资源的安排配置;
- 沟通协调项目活动细节;
- 监控整体进度;
- ……
下面我们来进行甘特图的实际操作
1、首先看看制作甘特图准备的json数据格式
[ { "起始时间": "2015/1/1", "结束时间": "2015/2/1", "名称": "制定计划" }, { "起始时间": "2015/2/2", "结束时间": "2015/2/21", "名称": "确定需求" }, { "起始时间": "2015/2/21", "结束时间": "2015/2/28", "名称": "资源调动" }, { "起始时间": "2015/3/1", "结束时间": "2015/3/28", "名称": "生成原型模型" }, { "起始时间": "2015/3/28", "结束时间": "2015/5/30", "名称": "完成产品1.0" }, { "起始时间": "2015/5/30", "结束时间": "2015/6/15", "名称": "产品测试" }, { "起始时间": "2015/6/15", "结束时间": "2015/7/1", "名称": "完善产品" }, { "起始时间": "2015/7/1", "结束时间": "2015/9/1", "名称": "产品上线" }, { "起始时间": "2015/9/1", "结束时间": "2015/10/1", "名称": "beta版本测试" }, { "起始时间": "2015/10/1", "结束时间": "2015/12/1", "名称": "项目收尾" } ]
2、打开ARJS报表设计器进行数据源数据集的绑定
3、甘特图进行X轴、Y轴数值绑定
4、预览展示:
5、大家会发现一个问题,首先X轴起始时间不是json数据源的最小值,跟实际数据绑定存在不符合。这是一个比较重点的知识点,需要在X轴通过表达式设置Min()值
表达式:{DateTime.DateDiff("s", DateSerial(1970, 1, 1), DateTime.Parse(Min(起始时间), "yyyy/MM/dd")) * 1000}
6、预览结果如下:
7、报表文件和Json数据源下载