VARCHART XGantt用户手册:解读甘特图中的分组(.Net版)
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)本文主要解释了VARCHART XGantt中的分组,包括交互式创建组、交互式重新组合节点、空组、摘要栏等内容~
通常需要将活动划分为组,然后在视觉上强调图中的各组。例如,活动经常按项目阶段(例如计划、建设、制造等)或部门(建筑部门、会计部门等)分组。
分组图可能看起来像这样:
组由一个值组成,组中的所有成员都具有相同的值。在其分组数据字段中显示相同条目的节点属于同一组。可以在相应的对话框中设置分组字段和所有其他分组条件,您可以通过单击“对象”属性页面上的“分组”按钮来打开该对话框。
在“分组数据”字段中具有相同值的活动将分配给同一组。
在该图中,在包含组标题的组上方显示了额外的一行。表中组标题的出现可以在“编辑表格式”对话框中单独定义,具体取决于组是展开还是折叠(表格式为“字幕”和“折叠”),例如通过使用不同的颜色或数据字段。
组标题旁边的加号或减号表示关联的组是折叠还是展开。通过单击符号,您可以从折叠状态切换到展开状态,反之亦然。要启用此功能,必须选中“分组”对话框中的“允许修改”复选框。
您可以使用“排序依据”和“排序顺序”选项来设置分组的顺序。
可以为组选择更多选项:
是否要生成表格格式
组标题行的模式(仅在图中)
日历和行网格的显示和样式
组中的所有活动是否应显示在单个行中(打开/关闭单独行中的“节点”选项),如果这样,是否应自动优化节点布局(优化)
启动程序时是否应该折叠组(折叠组)
分隔线的显示和样式
用户是否可以使用折叠/展开功能(允许修改)
是否显示摘要栏(摘要栏)
是否显示组节点
是否可以通过图或表中的拖动交互来更改组的顺序
是否在每个组之后都要进行分页
交互式创建组
在空图表中以交互方式创建新节点后,将自动创建一个组节点。在“编辑数据”对话框中,可以在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。
如果要创建新组,请执行以下操作:在现有组中创建一个节点。双击节点以打开“编辑数据”对话框。然后,在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。然后将创建新组。
交互式地重新组合节点
如果用户借助鼠标将活动从一个组移动到另一个组,则将自动调整分组字段中的值。
空组
如果删除组中的所有节点,表中该组的标题仍将保留。如果删除分组并再次应用,或者完成程序并重新启动,所有空组的标题将消失。
交互式地分组
您可以交互地更改子组的排序顺序。为此,标记要移动的子组的摘要栏。然后在图表中向上或向下移动该子组的幻像。一旦将幻像放置到同一分组级别的另一个摘要栏上,就会出现一个箭头,指示您是否可以在另一个摘要栏的上方或下方插入摘要栏。释放鼠标按钮后,该组将把所有节点插入所选位置。
所有组的所有节点一行/每行/展开/折叠
使用几行代码,您可以指定如何显示所有组的节点。在以下示例中,所有组(两个分组级别)的节点显示在一行中。
示例代码VB.NET
Private Sub mnuAllNodesOneRow_Click() Dim groupCltn As VcGroupCollection Dim group As VcGroup Dim subGroupCltn As VcGroupCollection Dim subGroup As VcGroup groupCltn = VcGantt1.GroupCollection For Each group In groupCltn subGroupCltn = group.SubGroups group.NodesArrangedInOneRow = True For Each subGroup In subGroupCltn subGroup.NodesArrangedInOneRow = True Next Next End Sub
示例代码C#
private void mnuAllNodesOneRow _Click(object sender, System.EventArgs e) { VcGroupCollection groupCltn = VcGantt1.GroupCollection; VcGroupCollection subGroupCltn; foreach (VcGroup group in groupCltn) { subGroupCltn = group.SubGroups; group.NodesArrangedInOneRow = true; foreach (VcGroup subGroup in subGroupCltn) { subGroup.NodesArrangedInOneRow = true; } } }
以相同的方式,您可以在单独的行中显示所有组的所有节点(group.NodesArrangedInOneRow = False),展开它们(group.Collapsed = False)或折叠它们(group.Collapsed = True)。
带有分组选项“一行中的节点”的图
本节简要介绍了活动组布局的“单独行中的节点”选项。
启用了此选项的图如下所示:
分组过程与前面所述的相同,其中每个活动都显示在单独的行中。如果未设置“分组”对话框的“单独行中的节点”选项,则会在一行中显示整个组。自然,活动可能在行内重叠。为了使覆盖可见,可以扩展组,这意味着严格来说,该选项应称为“尽可能少的行”。在其展开状态下,您可以自由移动重叠的活动,直到所有叠加层都消失为止。因此,展开的图表可确保重叠活动(即使只是一秒钟)也可以立即被识别。
当一个组折叠时(例如本例中的C组),它表明它包含多个活动,但是无法识别是否有覆盖物。
自然,对于这种类型的图,以表格格式安排活动是没有意义的。因此,我们建议改为在图层上显示注释,或使用工具提示进行标识。
显示叠加节点
如果未选择“单独行中的节点”模式,则可以通过排序顺序指定哪些节点位于其他节点之上。节点根据其排序顺序进行排序,这意味着排序顺序中的最后一个节点位于所有其他节点之上,并且完全可见。
摘要栏
摘要栏可以显示在分组行中。您可以指定是否显示摘要栏以及其分组级别。
要在按分组级别定义的分组级别显示摘要栏,在“分组”对话框中,需要选中对应级别的“摘要栏”复选框。
VcGantt属性SummaryBarsVisible允许您在运行时指定/查询摘要栏是否可见。如果分组不是分层的,则可以在参数GroupingLevel的帮助下分别打开或关闭每个级别的摘要栏。
在“图层”属性页上,可以通过创建可视化摘要栏的适当图层来指定摘要栏的外观。您可以为所有或多个级别定义一层,也可以为每个级别定义不同的层,例如第一层为“摘要栏1”,第二层为“摘要栏2”,依此类推。
现在,您必须将相应的过滤器分配给摘要栏,以便完全执行可视化。可以在“管理过滤器”对话框中创建过滤器,例如第一级过滤器“摘要栏1”。为了指定适当的级别,请在“编辑过滤器”对话框中的“字段名称”下选择“<summary barlevel>”,选择正确的运算符(等于、大于或等于、大于等),然后在“比较”中输入所需的级别号。
本教程内容就是这样了,这是.NET版本的内容,Activex版本内容请点击这里查看!感兴趣的朋友可以下载VARCHART XGantt试用版评估一下~
相关内容推荐:
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击
慧都致敬程序员,1024现金优惠券、满减享不停,点击下方图片参与活动