VARCHART XGantt是一款功能强大的甘特图控件。其模块化的设计让您可以创建满足您和您的客户所需求的应用程序(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序)。VARCHART XGantt可以快速、简单地集成到您的应用程序中,帮助您识别性能瓶颈、避免延迟以及高效利用资源,使复杂数据变得更加容易理解。
如果您使用Gantt Charts来进行资源控制,那么您通常会对当前情况有一个清晰和精确的概述感兴趣。特别是在某些事情似乎不怎么明了的情况下,您需要立即看到问题。介于此本文旨在讲述如何对提高甘特图的可视化表现,供大家学习讨论。
甘特图经常用于可视化和管理生产调度应用程序中的资源利用率和容量负载。理想状态下,这是通过补充甘特图和直方图实现的。但是,在移动一个条形图时,用户总是必须同时观察屏幕上的两个移动元素:条形图和直方图。有时,这感觉就像在踢足球时确定越位一样困难。
从VARCHART XGantt v5.0开始,我们为.NET Gantt Chart开发人员提供了在各自的图表行中显示资源重载的功能。我们希望在按资源分组的甘特图范围中实现重载,每个图的容量负载都显示在自己的直方图中,不仅在直方图中显示,而且用鼠标光标指向节点时直接在节点上显示。
要做到这一点,需要进行以下设置:
- 本例以资源A和资源B为例,它们各自的组日历都具有相同的名称。为每个日历创建一个重载日历,并将其命名为A_Overload和B_Overload。日历必须是空的,这意味着它们不能包含间隔或概要。
- 在每个直方图的容量曲线中将这些日历指定为Overload Results Calendar。
- 创建一个映射表,将overload calendars分配给资源名(即分组数据字段的内容)。
- 在“Grouping”对话框的节点区域中,创建新的日历网格OverloadGrid,并勾选“Calendar grids visible”框。
- 在这个calendar grid中,必须映射可见性和正在使用的日历:
private void vcGantt1_MouseMove(object sender, MouseEventArgs e) { string histogramName = string.Empty; object identObj = null; VcObjectType identObjType = VcObjectType.vcObjTypeNone; if (MouseButtons == MouseButtons.None { vcGantt1.IdentifyObjectAt(e.X, e.Y, ref identObj, ref identObjType); ShowOverloadsInNodeRow(identObj, identObjType); } } private void ShowOverloadsInNodeRow(object identObj, VcObjectType identObjType) { VcNode node; VcNode oldNode = vcGantt1.GetNodeByID(_oldNodeID); switch (identObjType { case VcObjectType.vcObjTypeNodeInDiagram: node = (VcNode)identObj; node.set_DataField(eTasks.OverloadGridVisible, "1"); node.Update(); _oldNodeID = node.ID; break; default: if (oldNode != null) { oldNode.set_DataField(eTasks.OverloadGridVisible, "0"); oldNode.Update(); } break; } }
- 将使用的日历映射如下:
更多VARCHART XGantt系列教程将在后续更新,敬请关注~
更多相关信息请点击这里。