普加甘特图开发指南(4)

87 阅读2分钟

扩展任务属性 对任务属性的扩展,主要处理如下几个地方: 1.增加plus_task表的一个字段 2.修改TaskDAL的ModelMapper方法,将新字段增加到任务对象上。 3.修改TaskDAL的Insert方法,将新字段在sql语句中增加。 4.修改TaskDAL的Update方法,将新字段在sql语句中增加。 5.在Javascript内扩展一个表格列,根据不同数据类型进行扩展。具体参考:自定义表格列demo/diyColumn.html,后续有详细介绍。

plus_task表的新字段,是用来存放新字段数据的; 在加载数据时,确保任务对象上有新字段的属性值。因为任务对象是一个Hashtable,所以这一点极其简单。 在保存数据时,修改任务的新增和保存的sql语句,把新字段的值写入到数据库,保存起来。 做好这几点,其实任务的属性已经扩展了。 下面只是需要一个界面显示和操作的载体,一般用表格列来完成。

标准列 PlusProject针对任务的各种标准属性,如"ID","Name","Start","Finish","PercentComplete","Department","Principal"等提供了相应的标准列。开发者在创建标准任务属性范围内的列时,直接使用这里例举的标准列用来创建表格列集合。

var project = new PlusProject();

project.setColumns([
    new PlusProject.IDColumn(),
    new PlusProject.StatusColumn(),
    new PlusProject.NameColumn(),
    new PlusProject.PredecessorLinkColumn(),
    new PlusProject.PercentCompleteColumn(),
    new PlusProject.DurationColumn(),
    new PlusProject.StartColumn(),
    new PlusProject.FinishColumn(),
    new PlusProject.WorkColumn(),
    new PlusProject.DepartmentColumn(),
    new PlusProject.PrincipalColumn(),
    new PlusProject.AssignmentsColumn()
]);

以下是官方提供的标准列介绍

列名任务属性描述
PlusProject.IDColumnID任务序号。
PlusProject.WBSColumnWBSWBS编码。
PlusProject.ManualColumnManual任务类型。
PlusProject.NameColumnName任务名称。
PlusProject.DurationColumnDuration工期。
PlusProject.StartColumnStart开始日期。
PlusProject.FinishColumnFinish完成日期。
PlusProject.PercentCompleteColumnPercentComplete完成百分比。
PlusProject.WorkColumnWork工时。
PlusProject.WeightColumnWeight权重。
PlusProject.PriorityColumnPriority重要级别。
PlusProject.OutlineNumberColumnOutlineNumber大纲字段。
PlusProject.OutlineLevelColumnOutlineLevel任务层次。
PlusProject.ConstraintDateColumnConstraintDate限制日期。
PlusProject.ConstraintTypeColumnConstraintType限制类型。
PlusProject.PredecessorLinkColumnPredecessorLink前置任务。
PlusProject.StatusColumn状态列。它使用图标反映任务的一些状态,比如受限制、已完成、有注释等。
PlusProject.DepartmentColumnDepartment部门。
PlusProject.PrincipalColumnPrincipal负责人。
PlusProject.AssignmentsColumnAssignments资源名称。
PlusProject.ActualStartColumnActualStart实际开始日期。
PlusProject.ActualFinishColumnActualFinish实际完成日期。
PlusProject..Critical2ColumnCritical2手动设置关键任务。

自定义表格列 开发者可以根据自己扩展的任务属性类型,来创建自己的列。 请参考demo/diyColumns.html。