OpenInlineFilterTree(内联)
Table的OpenInlineFilterTree方法用于打开内联筛选树。
OpenInlineFilterTree的语法为:
OpenInlineFilterTree(Setting,
Size)
Setting:
InlineTreeSetting类型,用于设置筛选树。
Size: 整数型,可选,用于指定目录树宽度,单位为像素。
InlineTreeSetting的相关属性有:
ParentCol:
字符型,指定父列名称。
ChildCol: 字符型,指定子列名称。
TextCol: 字符型,用于指定标题列,如果省略,则目录树节点的标题来自于ChildCol指定的子列。
ValueCol: 字符型,用于指定数值列
Unique:
逻辑型,是否要求行唯一,默认为True,如果允许重复行,将此属性设置为False即可。
SortCol: 字符型,指定排序列
SortDesc: 逻辑型,是否降序排序
Subtotal: 逻辑型,是否自动汇总子目录数据。
MergeTotal: 逻辑型,是否合并显示统计结果。
IncludeSub: 逻辑型,指定是否显示子目录数据,默认为True。
GridTree: 逻辑性,指定是否自动开启折叠模式,默认为False。
ExpandTo: 整数型,指定折叠树默认展开级别,默认为0,也就是都不展开,如果设置为-1,则全部展开。
区分树类型
还记得我们在介绍分级数据类型时,提到了三种分级数据,分别为BOM型、项目型和普通型,也知道了通过菜单设置分级筛选树的时候,是可以选择数据类型的。
那么通过代码打开分级筛选树,是如何区分数据类型的呢?很简单:
通过OpenInlineBomTree打开的自然是BOM树,通过OpenInlineFilterTree打开的,默认是项目筛选树,如果将Unique属性设置为False,就是普通分级筛选树了。
示例一
打开CaseStudy目录下的文件:折叠模式.Table。
选择表"部门",在命令窗口执行以下代码:
Dim
t As
New InlineTreeSetting
t.ParentCol
= "parentid"
t.ChildCol
= "id"
t.TextCol
= "部门"
t.ValueCol
= "人数"
t.SortCol
= "sysgrdtreesort"
t.Subtotal
= True
t.MergeTotal
= True
t.GridTree
= True
Tables("部门").OpenInlineFilterTree(t)
执行后,得到的筛选树如下:
示例二
打开CaseStudy目录下的文件:折叠模式.Table。
选择表"销售",在命令窗口执行以下代码:
Dim
t As
New InlineTreeSetting
t.ParentCol
= "团队"
t.ChildCol
= "员工"
t.ValueCol
= "数量"
t.Unique
= False
t.Subtotal
= True
t.GridTree
= True
Tables("销售").OpenInlineFilterTree(t)
提示:由于这是一个销售数据表,允许重复记录,所以必须将Unique属性设置为False,否则将无法生成筛选树。
执行后,得到的筛选树如下: