插入加载树
我们可以直接在窗口插入内置的加载树,关于加载树的使用,请参考:加载树
示例一
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
& "'")