西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发java → 简单步骤打造复杂WEB甘特图

简单步骤打造复杂WEB甘特图

相关软件相关文章发表评论 来源:本站整理时间:2010/11/15 14:50:39字体大小:A-A+

作者:佚名点击:751次评论:0次标签: Java

  • 类型:行业软件大小:7.3M语言:中文 评分:10.0
  • 标签:
立即下载
创建一个 易度甘特图 ,需要有两大对象:
1.Edo.project.GanttView :甘特图显示组件
2.Edo.data.DataProject :甘特图数据组件
GanttView组件是一般意义上的易度甘特图组件,它是一个界面显示组件,是一个左侧树形任务,右侧条形图的组件。
DataProject是甘特图数据组件,它提供了甘特图显示和操作逻辑的数据功能,是一个不可见的组件。
两者配合,实现了一个完整的甘特图应用,
另外,不得不要说另一个关键的组件:Edo.util.Ajax。
我们的甘特图数据,往往是以XML或JSON静态方式存放在服务端,或者是以数据库方式存放。我们在页面显示甘特图的时候,需要从服务端把这些数据提取出来,生成一个DataProject数据对象,然后才能由GanttView正确显示出来。
这里,Ajax负责在客户端页面,从服务端获取数据提供给甘特图显示和操作,并且在甘特图操作之后,把甘特图数据,继续以XML或JSON数据形式传递到服务端,更新进数据库的功能。
下面通过一个标准的范例,来说明在页面上,创建一个易度甘特图应用的全过程:
首先,我们需要在页面内引用易度甘特图的css和js:
<!--edogantt css-->
<link href="../scripts/edo/res/css/base.css" rel="stylesheet" type="text/css" />
<link href="../scripts/edo/res/css/core.css" rel="stylesheet" type="text/css" />
<link href="../scripts/edo/res/css/skin.css" rel="stylesheet" type="text/css" />
<link href="../scripts/edo/res/product/project/css/project.css" rel="stylesheet" type="text/css" />
<!--edogantt javascript-->
<script src="../scripts/edo/edo.js" type="text/javascript"></script>
注意:请仔细检查css和js的路径是否正确。
然后,我们就可以使用Ajax获取甘特图数据,创建DataProject,创建GanttView,最终生成一个WEB甘特图应用了:
var dataProject, project;

Edo.util.Dom.on(window, 'load', function(e){
//创建易度甘特图组件
project = Edo.create({
type: 'ganttview',
width: 700,
height: 400,
render: document.getElementById('example-view')
});

//使用Ajax, 从服务端获取甘特图数据字符串
Edo.util.Ajax.request({
url: '../data/project.xml', //数据源地址: 请注意路径
onSuccess: function(text){
//使用xml字符串创建Edo.data.DataProject数据对象
dataProject = new Edo.data.DataProject(text);

//dataProject设置给ganttview对象的data属性即可显示和操作
project.set('data', dataProject);
},
onFail: function(err){
alert("加载xml数据失败,错误码:"+err);
}
});
});
以上是从服务端加载XML数据格式的范例,如果您加载的是JSON格式,参考如下代码:
Edo.util.Ajax.request({
url: '../data/project.txt',
onSuccess: function(text){
//从json创建Edo.data.DataProject数据对象
var json = Edo.util.Json.decode(text);
dataProject = new Edo.data.DataProject(json.result);

project.set('data', dataProject);
},
onFail: function(err){
alert("加载xml数据失败,错误码:"+err);
}
});
仅仅是在创建Edo.data.DataProject时的不同处理。
当创建显示易度甘特图之后,易度甘特图组件提供了一系列功能操作入口。如点击任务树单元格进行编辑,鼠标拖拽调整右侧条形图区域中任务的开始日期、完成日期和完成百分比,以及右键菜单中的“新增、删除、修改、升级、降级”等任务操作功能。
注意!如果您创建显示甘特图之后,未监听处理甘特图的任何事件,那么任务操作后的任务状态将不会有任何改变,一切任务的操作结果,全部通过甘特图事件,开放给用户,由用户监听并处理任务的操作后状态。
就是说,易度甘特图只是做了显示和操作的功能封装,但是对于操作结果,不加以干涉,完全交给用户来控制。
比如,用户在界面编辑修改了某一任务的完成日期,这时候会激发taskchange事件,用户可以监听处理这个taskchange事件,得知:是哪个任 务,什么属性,要改成什么样的值。用户可以简单的直接设置给任务(参考甘特图的任务操作篇),也可以经过一系列复杂的数据逻辑计算和处理,从而判断是否可 以修改,修改后,此任务关联的其他任务的日期怎么联动处理等。
甘特图数据处理,完全交给了开发者,使开发者对数据处理,有了100%的掌控。
    PPT图表
    (111)PPT图表
    我们在制作各类的时候,或多或少的都能用到图表。图表它可以直观的展示出各种信息数据,有了图表你就可以很好的将数据更直观准确的表达出来。小编在这里为大家搜集整理了一些大家可能会用到的图表模板,欢迎有需要的各位前来下载。...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)