文档彩票走势图>>VARCHART XGantt 2019教程>>VARCHART XGantt系列教程:一个表单显示两个VARCHART XGantt实体
VARCHART XGantt系列教程:一个表单显示两个VARCHART XGantt实体
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。VARCHART XGantt可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。
这篇文章主要介绍甘特图以下的甘特图——一个表单显示两个VARCHART XGantt实体,现在就来看看怎么具体操作吧!
如果要在一个表单上显示两个XGantt实体,则应使用SplitContainer。 SplitContainer是一个由两个面板组成的控件,两个面板之间的比例可以在运行时通过拆分器进行交互式修改。例如,如果许多计划外任务一个接一个显示,那么使用拆分器是有意义的。
vcGantt1
如果XGantt的两个实体安装在SplitContainer的两个面板上,则可以交互修改实体的宽高比。
vcGantt2
要创建整洁的图片,两个XGantts的表格宽度和时间刻度的设置应该相同。此外,您应该禁用上方图表的水平滚动条和下方图表的时间刻度(vcGantt1为上方图表,vcGantt2为下方图表),以便有更多空间来显示数据。由于上方图表的水平滚动不再可能,为了保证下方图表滚动的同时滚动上方图表,您需要以下代码 :
private void vcGantt2_VcDiagramHorizontalScrolled(object sender, VcDiagramHorizontalScrolledEventArgs e) { vcGantt1.FitRangeIntoView(e.CurStartDate, e.CurEndDate, 0); } The interactive modification of the time scale solution (unit width) in the upper chart requires a reaction as well (if this interaction has not been disabled in general): private void vcGantt1_VcTimeScaleSectionRescaling(object sender, VcTimeScaleSectionRescalingEventArgs e) { DateTime leftDate = new DateTime(1,1,1); DateTime rightDate = new DateTime(1,1,1); int minBasicUnitWidth = 75; //May have to be adjusted if (e.NewBasicUnitWidth < 75); { e.TimeScale.get_Section((short)e.SectionIndex).UnitWidth = minBasicUnitWidth; vcGantt2.TimeScaleCollection.Active.get_Section((short)e.SectionIndex).UnitWidth = minBasicUnitWidth; e.ReturnStatus = VcReturnStatus.vcRetStatFalse; } else vcGantt2.TimeScaleCollection.Active.get_Section((short)e.SectionIndex).UnitWidth = e.NewBasicUnitWidth; vcGantt1.GetCurrentViewDates(ref leftDate, ref rightDate); .ScrollToDate(leftDate, VcHorizontalAlignment.vcLeftAligned, 0); } The following code is needed to respond to the interactive moving of the splitter between the table and the diagram of the two charts: private void vcGantt1_VcTableWidthChanging(object sender, VcTableWidthChangingEventArgs e) { vcGantt2.LeftTableDiagramWidthRatio = (short)e.TableDiagramWidthRatio; } private void vcGantt2_VcTableWidthChanging(object sender, VcTableWidthChangingEventArgs e) { vcGantt1.LeftTableDiagramWidthRatio = (short)e.TableDiagramWidthRatio; }
具体操作看完了,希望对您有帮助~
想要购买VARCHART XGantt正版授权,或想获取更多产品信息的朋友请点击