WINFORM中使用DEV的日程控件《SchedulerControl》实现甘特图效果

无图不说话,先看效果图:

首先在WINFORM窗体中添加两个控件:

1、左侧《ResourcesTree》用于显示具体任务名称(在日程中表现为Resources)

2、右侧《SchedulerControl》显示甘特图

3、设置ResourcesTree的属性SchedulerControll值为SchedulerControl的Name,实现两个控件的相互关联

数据绑定

在SchedulerControl中需要为三个数据源进行数据绑定(在本例中:每一个资源对应一条任务

1、Resources(资源,在本例中也是任务

/*资源属性映射*/
var sourceMap = this.schedulerStorage1.Resources.Mappings;
sourceMap.Caption = "TaskName";
sourceMap.Id = "ID";
sourceMap.ParentId = "ParentID";
/*数据绑定*/
this.schedulerStorage1.Resources.DataSource = list;

2、AppointmentDependencies(依赖关系,即前后置任务)

/*依赖关系属性映射*/
var dependceMap = schedulerStorage1.AppointmentDependencies.Mappings;
dependceMap.DependentId = "ID";/*对应任务ID*/
dependceMap.ParentId = "BeforeID";/*对应任务ID*/
dependceMap.Type = "DependencyType";
/*数据绑定*/
this.schedulerStorage1.AppointmentDependencies.DataSource = list;

3、Appointment(日程,即具体的任务信息)

/*日程属性映射*/
var appointMentMap = this.schedulerStorage1.Appointments.Mappings;
appointMentMap.ResourceId = "ID";/*资源ID*/
appointMentMap.AppointmentId = "ID";/*任务ID*/
appointMentMap.Start = "PlanStart";
appointMentMap.End = "PlanEnd";
appointMentMap.Description = "TaskName";
appointMentMap.AllDay = "AllDay";
appointMentMap.Subject = "TaskName";
appointMentMap.PercentComplete = "PercentComplete";
/*数据绑定*/
this.schedulerStorage1.Appointments.DataSource = list;

界面显示调整

1、调整日程控件显示模式为甘特图,设置SchedulerControl的属性ActiviViewType=Gantt

2、调整每页显示的任务数量(如果不设置此属性,所有的任务都在一页显示,数量非常多的时候会压缩行高),设置SchedulerControl.Views.GanttView.ResourcePerPage=10

3、如果不希望视图可切换到其他模式(按日显示、月显示、周显示等),禁用默认的右键菜单,并在SchedulerControl.Views中设置其他视图的属性Enabled=false。

其他补充

控件ResourcesTree实际继承的的是DEV中的控件TreeList并扩展了与日程控件SchedulerControl的关联。

在一个Resource中实际可以添加非常多的Appointment,在本例中强制Resource与Appointment进行一对一的关联。


DEMO地址:

链接:https://pan.baidu.com/s/1YIDz3S9Zcb9s2sd7B-ck1Q
提取码:x0bm 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值