VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)本文主要解释了VARCHART XGantt中的分组,包括交互式创建组、交互式重新组合节点、空组、摘要栏等内容~

通常需要将活动划分为组,然后在视觉上强调图中的各组。例如,活动经常按项目阶段(例如计划、建设、制造等)或部门(建筑部门、会计部门等)分组。

分组图可能看起来像这样:

甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!_第1张图片

组由一个值组成,组中的所有成员都具有相同的值。在其分组数据字段中显示相同条目的节点属于同一组。可以在相应的对话框中设置分组字段和所有其他分组条件,您可以通过单击“对象”属性页面上的“分组”按钮来打开该对话框。

甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!_第2张图片

在“分组数据”字段中具有相同值的活动将分配给同一组。

在该图中,组上方的另一行包含组标题。组标题的外观可以在“编辑表格式”对话框中单独定义,具体取决于组是展开还是折叠(表格式为“字幕”和“折叠”),例如通过使用不同的颜色或数据字段。

组标题旁边的加号或减号表示关联的组是折叠还是展开。通过单击标志,您可以从折叠状态切换到展开状态,反之亦然。要启用此功能,必须选中“分组”对话框中的“允许修改”复选框。

您可以使用“排序依据”和“排序顺序”选项来设置分组的顺序。

可以为组选择更多选项:

  • 是否要生成表格格式

  • 组标题行的模式(仅在图中)

  • 日历行网格的显示和样式

  • 组中的所有活动是否应显示在单个行中(打开/关闭单独行中的“节点”选项),如果这样,是否应自动优化节点布局(优化

  • 启动程序时是否应该折叠组(折叠组

  • 分隔线的显示和样式

  • 用户是否可以使用折叠/展开功能(允许修改

  • 是否显示摘要栏(摘要栏

  • 是否显示组节点

  • 是否可以通过图或表中的拖动交互来更改组的顺序

  • 是否在每个组之后都要进行分页

交互式创建组

每次在空白图表中交互式创建新节点时,都会自动创建一个组节点。在“编辑数据”对话框中,可以在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。

如果要创建新组,请执行以下操作:在现有组中创建一个节点。双击节点以打开“编辑数据”对话框。然后,在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。然后将创建新组。

交互式重新组合节点

如果用户将一项活动从一个组拖动到另一组,则分组字段中的值将自动调整。

空组

如果删除组的所有节点,则组的标题将保留在表中。仅当您关闭分组后再打开或结束并重新启动程序时,所有空组的标题才会显示。

交互式移动子组

您可以交互地修改子组的排序顺序。为此,请标记您要移动的子组的摘要栏。然后将子组的幻像拖到图表中您选择的位置。如果将幻像放置在相同分组级别的其他摘要栏上,则箭头将指示您可以在摘要栏的上方还是下方插入摘要栏。释放鼠标按钮时,组及其从属节点将插入到所选位置。

所有组的所有节点在一行/每行/展开/折叠

通过几行代码,您可以控制以哪种方式显示组的节点。在下面的示例中,两个不同分组级别的节点将通过菜单调用显示在一行中。

示例代码

Private Sub mnuAllNodesOneRow_Click()
Set groupcollection = VcGantt1.groupcollection
For Each group In groupcollection
 Set subgroupcollection = group.SubGroups
 group.AllNodesInOneRow = True
 For Each subgroup In subgroupcollection
 subgroup.AllNodesInOneRow = True
 Next
Next
End Sub

以类似的方式,您可以在每个组的单独行中显示组的节点(group.AllNodesInOneRow = False),展开它们(group.Collapsed = False)或折叠它们(group.Collapsed = True)。

带有分组选项“一行中的节点”的图

本节简要介绍了活动组布局的“单独行中的节点”选项。

启用了此选项的图可能类似于以下示例:

甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!_第3张图片

分组过程与前面所述的相同,其中每个活动都显示在单独的行中。如果未设置“分组”对话框的“单独行中的节点”选项,则会在一行中显示整个组。自然,活动可能在行内重叠。为了使覆盖可见,可以扩展组,这意味着,严格来说,该选项应称为“尽可能少的行”。在其展开状态下,您可以自由移动重叠的活动,直到所有叠加层都消失为止。因此,展开的图表可确保重叠活动(即使只是一秒钟)也可以立即被识别。

当一个组折叠时(例如本例中的C组),它表明它包含多个活动,但是无法识别是否有覆盖物。

自然,对于这种类型的图,以表格格式安排活动是没有意义的。因此,我们建议改为在图层上显示注释,或使用工具提示进行标识。

显示叠加节点

如果未选择“单独行中的节点”模式,则排序顺序将确定最后绘制的节点,因此在它们重叠的情况下完全可见。

摘要栏

在组行中,可以显示摘要栏。您可以指定是否显示汇总级别以及针对哪些汇总级别显示汇总栏。

要在按分组级别定义的分组级别显示摘要栏,在“分组”对话框中,需要选中对应级别的“摘要栏”复选框。

VcGantt属性SummaryBarsVisible在运行时允许您设置或检索摘要栏是否可见。如果分组是真正的分组(不是层次结构),则可以使用参数GroupingLevel按级别打开或关闭摘要栏。

在“图层”属性页面上,可以通过创建显示任何所需形状的图层来指定摘要栏的外观。您可以为所有或某些级别定义一层,也可以为每个级别定义不同的层,例如第一层为“摘要栏1”,第二层为“摘要栏2”,依此类推。

要显示所需的摘要栏形状,需要为它们指定过滤器以选择每个级别上定义的功能。可以在“管理过滤器”对话框中创建过滤器,例如第一级过滤器“摘要栏1”。

要选择适用过滤条件的级别,请调用“编辑过滤器”对话框。在“字段名称”列中,选择摘要栏级别,选择一个运算符(等于、大于或等于、大于等),然后在“比较”字段中输入所需的级别编号

启动程序时,将显示指定的摘要栏。

本教程内容到这里就完结了,后面将会更新.NET版本的分组内容,敬请期待哦~感兴趣的朋友可以下载VARCHART XGantt免费版尝试一下~