回复 1楼781504429的帖子
你的意思是一个任务变成变成两个开始、结束,并在不同的行显示?
所以在创建该任务的时候,你的任务下需要有两个不同的时间段,然后将该任务对应绑定C1Chart的Series系列。
1.在Task类里添加double[]类型的 value字段,代码参考:
- class Task
- {
- public double[] Value { get; set; }
- public string Name { get; set; }
- public DateTime[] Start { get; set; }
- public DateTime[] End { get; set; }
- public bool IsGroup { get; set; }
- public Task(string name, DateTime[] start, DateTime[] end, bool isGroup, double[] value)
- {
- Name = name;
- Start = start;
- End = end;
- IsGroup = isGroup;
- Value = value;
- }
- }
复制代码
2.GetTasks方法,代码参考:
- Task[] GetTasks()
- {
- DateTime start = new DateTime(2008, 1, 1, 1, 0, 0);
- DateTime end = new DateTime(2008, 1, 1, 3, 0, 0);
- DateTime[] startAlpha = new DateTime[] { start, start.AddHours(3) };
- DateTime[] endAlpha = new DateTime[] { end, end.AddHours(5) };
- double[] valueAlpha = new double[] {0.1,0.16 };
- DateTime[] startSpec = new DateTime[] { start.AddHours(1), start.AddHours(4) };
- DateTime[] endSpec = new DateTime[] { end.AddHours(1), end.AddHours(6) };
- double[] valueSpec = new double[] { 0.1, 0.2 };
- DateTime[] startPrototype = new DateTime[] { start.AddHours(2), start.AddHours(5) };
- DateTime[] endPrototype = new DateTime[] { end.AddHours(2), end.AddHours(8) };
- double[] valuePrototype = new double[] { 0.2, 0.3 };
- return new Task[]
- {
- new Task("Alpha", startAlpha, endAlpha,true,valueAlpha),
- new Task("Spec", startSpec,endSpec,true,valueSpec),
- new Task("Prototype", startPrototype, endPrototype, false,valuePrototype),
- };
- }
复制代码
3.数据绑定。
用foreach语句遍历所有的task,并且根据任务创建Series,让Series的ValueSource绑定任务的开始和结束时间。 |