甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
作者:互联网
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)本文主要解释了VARCHART XGantt中的分组,包括交互式创建组、交互式重新组合节点、空组、摘要栏等内容~
通常需要将活动划分为组,然后在视觉上强调图中的各组。例如,活动经常按项目阶段(例如计划、建设、制造等)或部门(建筑部门、会计部门等)分组。
分组图可能看起来像这样:
组由一个值组成,组中的所有成员都具有相同的值。在其分组数据字段中显示相同条目的节点属于同一组。可以在相应的对话框中设置分组字段和所有其他分组条件,您可以通过单击“对象”属性页面上的“分组”按钮来打开该对话框。
在“分组数据”字段中具有相同值的活动将分配给同一组。
在该图中,组上方的另一行包含组标题。组标题的外观可以在“编辑表格式”对话框中单独定义,具体取决于组是展开还是折叠(表格式为“字幕”和“折叠”),例如通过使用不同的颜色或数据字段。
组标题旁边的加号或减号表示关联的组是折叠还是展开。通过单击标志,您可以从折叠状态切换到展开状态,反之亦然。要启用此功能,必须选中“分组”对话框中的“允许修改”复选框。
您可以使用“排序依据”和“排序顺序”选项来设置分组的顺序。
可以为组选择更多选项:
是否要生成表格格式
组标题行的模式(仅在图中)
日历和行网格的显示和样式
组中的所有活动是否应显示在单个行中(打开/关闭单独行中的“节点”选项),如果这样,是否应自动优化节点布局(优化)
启动程序时是否应该折叠组(折叠组)
分隔线的显示和样式
用户是否可以使用折叠/展开功能(允许修改)
是否显示摘要栏(摘要栏)
是否显示组节点
是否可以通过图或表中的拖动交互来更改组的顺序
是否在每个组之后都要进行分页
交互式创建组
每次在空白图表中交互式创建新节点时,都会自动创建一个组节点。在“编辑数据”对话框中,可以在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。
如果要创建新组,请执行以下操作:在现有组中创建一个节点。双击节点以打开“编辑数据”对话框。然后,在“分组”对话框中为“分组依据”选择的数据字段中输入组名称。然后将创建新组。
交互式重新组合节点
如果用户将一项活动从一个组拖动到另一组,则分组字段中的值将自动调整。
空组
如果删除组的所有节点,则组的标题将保留在表中。仅当您关闭分组后再打开或结束并重新启动程序时,所有空组的标题才会显示。
交互式移动子组
您可以交互地修改子组的排序顺序。为此,请标记您要移动的子组的摘要栏。然后将子组的幻像拖到图表中您选择的位置。如果将幻像放置在相同分组级别的其他摘要栏上,则箭头将指示您可以在摘要栏的上方还是下方插入摘要栏。释放鼠标按钮时,组及其从属节点将插入到所选位置。
所有组的所有节点在一行/每行/展开/折叠
通过几行代码,您可以控制以哪种方式显示组的节点。在下面的示例中,两个不同分组级别的节点将通过菜单调用显示在一行中。
示例代码
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)。
带有分组选项“一行中的节点”的图
本节简要介绍了活动组布局的“单独行中的节点”选项。
启用了此选项的图可能类似于以下示例:
分组过程与前面所述的相同,其中每个活动都显示在单独的行中。如果未设置“分组”对话框的“单独行中的节点”选项,则会在一行中显示整个组。自然,活动可能在行内重叠。为了使覆盖可见,可以扩展组,这意味着,严格来说,该选项应称为“尽可能少的行”。在其展开状态下,您可以自由移动重叠的活动,直到所有叠加层都消失为止。因此,展开的图表可确保重叠活动(即使只是一秒钟)也可以立即被识别。
当一个组折叠时(例如本例中的C组),它表明它包含多个活动,但是无法识别是否有覆盖物。
自然,对于这种类型的图,以表格格式安排活动是没有意义的。因此,我们建议改为在图层上显示注释,或使用工具提示进行标识。
显示叠加节点
如果未选择“单独行中的节点”模式,则排序顺序将确定最后绘制的节点,因此在它们重叠的情况下完全可见。
摘要栏
在组行中,可以显示摘要栏。您可以指定是否显示汇总级别以及针对哪些汇总级别显示汇总栏。
要在按分组级别定义的分组级别显示摘要栏,在“分组”对话框中,需要选中对应级别的“摘要栏”复选框。
VcGantt属性SummaryBarsVisible在运行时允许您设置或检索摘要栏是否可见。如果分组是真正的分组(不是层次结构),则可以使用参数GroupingLevel按级别打开或关闭摘要栏。
在“图层”属性页面上,可以通过创建显示任何所需形状的图层来指定摘要栏的外观。您可以为所有或某些级别定义一层,也可以为每个级别定义不同的层,例如第一层为“摘要栏1”,第二层为“摘要栏2”,依此类推。
要显示所需的摘要栏形状,需要为它们指定过滤器以选择每个级别上定义的功能。可以在“管理过滤器”对话框中创建过滤器,例如第一级过滤器“摘要栏1”。
要选择适用过滤条件的级别,请调用“编辑过滤器”对话框。在“字段名称”列中,选择摘要栏级别,选择一个运算符(等于、大于或等于、大于等),然后在“比较”字段中输入所需的级别编号。
启动程序时,将显示指定的摘要栏。
本教程内容到这里就完结了,后面将会更新.NET版本的分组内容,敬请期待哦~感兴趣的朋友可以下载VARCHART XGantt免费版尝试一下~
标签:控件,行中,对话框,摘要,XGantt,分组,级别,节点 来源: https://blog.51cto.com/14467432/2443342