插入加载树

我们可以直接在窗口插入内置的加载树,关于加载树的使用,请参考:加载树

示例一

1、打开CaseStudy目录下的示例文件: 基本功能演示.Table

2、新建一个窗口,在窗口中插入一个LoadTree控件。

3、在窗口的AfterLoad事件中加上代码:

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("订单"), "产品|客户",5)

大功告成,打开窗口,就会自动生成一个加载树,点击这个加载树中的节点,订单表就会加载对应的数据。

你可以根据年月来生成目加载树,例如:

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("订单"), "日期 YM|产品", 5)

更多的组合,可以参考Table的OpenLoadTree方法。

示例二

你也可以针对SQLTable和SQLQuery生成加载树:

1、打开CaseStudy目录下的示例文件: 基本功能演示.Table

2、新建一个窗口,假定窗口名为"窗口1"

3、在窗口中插入一个Table控件,将其类型改为SQLTable,将其Select语句设置为: Select * From {订单} Where [_Identify] Is Null

4、在窗口中插入一个LoadTree控件。

5、在窗口的AfterLoad事件中加上代码:

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("窗口1_Table1"), "日期 YM|产品", 5)

附加初始条件

LoadTree的Build方法,可以附加一个初始条件,例如:

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("窗口1_Table1"), "日期 YM|产品", 5,"雇员 = 'EP01'")

现在单击加载树某节点,不会再加载此节点下的全部行,而只会加载此节点下雇员列内容为"EP01"的行。

再例如我们希望只加载当前登录用户负责的行:

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("窗口1_Table1"), "日期 YM|产品", 5, "雇员 = '" & User.Name & "'")

 

 

 

 


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