对具大数据树控件的LazyLoading

 

    当树形控件的数据具大时,要加载整棵树,需要花费很多时间,此间,界面会无法响应,因此为改善用户体验,只需将树设置成“逐级加载”,也即按需加载。每次只加载一级数据。

    在定义“逐级加载”树的SQL语句时,需额外提供一个名为childrencount的字段,它用来表明该节点是否具有子节点

 

高级应用:显示部门人员树,当部门人员例如多时,需采用逐级加载。

 

其中SQL定义如下 

(Oracle版)

  select 'group-'||cast(id as varchar2(30)) as id , 'group-'||cast(pid as varchar2(30)) as pid ,name as caption , 'group-'||cast(id as varchar2(30)) as value ,1 as childrencount from oa_mygroup where userid=0 union all select 'user-'||cast(id as varchar2(30)) as id , 'group-'||cast(groupid as varchar2(30)) as pid , name as caption , 'user-'||cast(id as varchar2(30)) as value ,0 as childrencount from news_user

(SQL Server版

select 'group-'||cast(id as varchar(30)) as id , 'group-'+cast(pid as varchar(30)) as pid ,name as caption , 'group-'+cast(id as varchar(30)) as value ,1 as childrencount from oa_mygroup where userid=0 union all select 'user-'+cast(id as varchar(30)) as id , 'group-'+cast(groupid as varchar(30)) as pid , name as caption , 'user-'+cast(id as varchar(30)) as value ,0 as childrencount from news_user

树根的值定义为:group-0

 

 

可以试着将“逐级加载”勾选上,以及不勾选上,看看性能对比