插入层级筛选树


我们通过两个例子来学习如何在窗口使用层级筛选树。

示例一

1、打开CaseStudy目录下的示例文件: 分级数据.Table

2、选择表"销售B"

3、选新建一个窗口。

4、插入一个LayersTree(层级树)控件。

5、将窗口的AfterLoad事件代码设置为:

Dim trv As WinForm.LayersTree = e.Form.Controls("LayersTree1")
Dim
st As New LayerTreeSetting
st
.PathCol = "层级"
st
.TextCol = "员工"
st
.ValueCol = "数量"
st
.Separator = "."
st
.GridTree = True
st.Unique = False '如果是项目树,请删除此行
trv
.BuildFilterTree(Tables("销售B"),st)

LayerTreeSetting
类用于设置层级树,其全部属性说明,可以参考: OpenLayersFilterTree

示例二

你也可以针对SQLTable和SQLQuery生成层级筛选树:

1、打开CaseStudy目录下的示例文件: 筛选树.Table

2、选择表销售B,新建一个窗口,假定窗口名为"窗口2"

3、在窗口中插入一个Table控件,将其类型改为SQLTable,将其Select语句设置为: Select * From {销售B}

4、插入一个LayersTree(层级树)控件。

5、将窗口的AfterLoad事件代码设置为:


Dim trv As WinForm.LayersTree = e.Form.Controls("LayersTree1")
Dim
st As New LayerTreeSetting
st
.PathCol = "层级"
st
.TextCol = "员工"
st
.ValueCol = "数量"
st
.Separator = "."
st
.GridTree = True
st.Unique = False '如果是项目树,请删除此行
trv
.BuildFilterTree(Tables("窗口2_Table1"), st)

示例三

1、打开CaseStudy目录下的示例文件: 分级数据.Table

2、选择表"销售C"

3、新建一个窗口。

4、插入一个LayersTree(层级树)控件。

5、将窗口的AfterLoad事件代码设置为:


Dim trv As WinForm.LayersTree = e.Form.Controls("LayersTree1")
Dim
st As New LayerTreeSetting
st
.PathCol = "级码"
st
.TextCol = "员工"
st
.ValueCol = "数量"
st
.Lengths = {2}
st
.GridTree = True
st.Unique = False '如果是项目树,请删除此行
trv
.BuildFilterTree(Tables("销售C"),st)

提示:每层的位长度可以不同,可以分别输入每层的位长度, 例如第一层用1位数表示,第二层用3位数表示,从第三层开始用2位数表示,那么设置长度的代码可以改为:


st
.Lengths = {1,3,2}

示例四

1、打开CaseStudy目录下的示例文件: 分级数据.Table

2、选择表"销售D"

2、新建一个窗口。

3、插入一个LayersTree(层级树)控件。

4、将窗口的AfterLoad事件代码设置为:


Dim trv As WinForm.LayersTree = e.Form.Controls("LayersTree1")
Dim
st As New LayerTreeSetting
st
.PathCol = "员工"
st
.ValueCol = "数量"
st
.Separator = "\"
st
.GridTree = True
st.Unique = False '如果是项目树,请删除此行
trv
.BuildFilterTree(Tables("销售D"), st)


本页地址:http://www.foxtable.com/webhelp/topics/3374.htm