OpenLayersBomTree(层级)
Foxtable内置的BOM树非常强大,如果你对BOM树还不太了解,请务必回到使用指南学习掌握BOM树的
设置和使用。
Table的OpenLayersBomTree方法用于打开层级BOM树。
OpenLayersBomTree的语法为:
OpenLayersBomTree(Setting, Size)
Setting: LayerTreeSetting类型,用于设置BOM树。
Size: 整数型,可选,用于指定目录树宽度,单位为像素。
LayerTreeSetting的相关属性有:
PathCol: 字符型,指定层级列
TextCol: 字符型,用指定名称列,也就是标题列。
ValueCol: 字符型,用于指定数量列。
Separator: 字符型,如果层级列是用符号分割的,可用此属性指定分割符号。
Lengths: 整数型数组,如果层级列是按长度分割的,用于此属性指定各级长度。
SortCol: 字符型,指定排序列
SortDesc: 逻辑型,是否降序排序
IncludeSub: 逻辑型,指定是否显示子目录数据,默认为True。
GridTree: 逻辑性,指定是否自动开启折叠模式,默认为False。
ExpandTo: 整数型,指定折叠树默认展开级别,默认为0,也就是都不展开,如果设置为-1,则全部展开。
在运行以下示例之前,请打开CaseStudy目录下的实例文件: BOM数据.Table
示例一
选择表"物料清单B",在命令窗口执行代码:
Dim
st As
New
LayerTreeSetting
st.PathCol
= "级码"
st.TextCol
= "物料"
st.ValueCol
= "数量"
st.Separator
= "."
st.GridTree
= True
Tables("物料清单B").OpenLayersBomTree(st)
得到的BOM树如下图:
示例二
选择表"物料清单C",在命令窗口执行代码:
Dim
st As
New
LayerTreeSetting
st.PathCol
= "级码"
st.TextCol
= "物料"
st.ValueCol
= "数量"
st.Lengths
= {2}
st.GridTree
= True
Tables("物料清单C").OpenLayersBomTree(st)
得到的BOM树如下图:
提示:每层的位长度可以不同,可以分别输入每层的位长度, 例如第一层用1位数表示,第二层用3位数表示,从第三层开始用2位数表示,那么设置长度的代码可以改为:
st.Lengths = {1,3,2}
示例三
选择表"物料清单D",在命令窗口执行代码:
Dim
st As
New
LayerTreeSetting
st.PathCol
= "物料"
st.ValueCol
= "数量"
st.Separator
= "\"
st.IncludeSub
= False
Tables("物料清单D").OpenLayersBomTree(st)
得到的BOM树如下图: