![]() |
演示一: 通过定义 <Properties LazyLoad="true" ... >属性, 树杈从后端实时加载数据; 模拟场景: 所有树杈在展开(Expand)前并不知道是否有子孙节点,鼠标点击树杈时通过事件动态从服务器取数; |
if(id=='AF1') { AF1.func("Build", "treelist/t2.xml \r\n lazyload=true; editAble=false"); //lazyload=true表示默认全部是树杈 AF1.func("Load", "http://www.supcan.cn/DotNet/GetFin.aspx?format=byid"); //从后端加载树的第一层 }2.OnEvent事件:
if(id == 'AF1' && Event == "LazyLoad") { var url = "http://www.supcan.cn/DotNet/GetFin.aspx?format=byid&kmdm=" + p2; //从URL加载数据,并插入表格中 //因为format=byid, 所以不必指定插入的位置 AF1.func("load", url + "\r\n fillmode=insert"); }3.这是类似的数据格式, 由后端的C#源码生成.
![]() |
演示二: 数据格式采用treeformat=byPid, 且 LazyLoad 是一个表达式; 模拟场景: 可以通过表达式算得树杈的子孙行,所以不需要通过外部事件解决; |
//LazyLoad是表达式 <Properties isTree="true" treeformat="byPid" lazyload="'http://www.supcan.cn/DotNet/GetFin.aspx?format=bypid&kmdm=' + id" ...> ... //pid列是必需的,让其隐藏即可 <Col name="pid" isHide="absHide" /> //id列是必需的 (即kmdm) <Col name="id" width="150">科目代码</Col>2.这是类似的数据格式.
![]() |
演示三: 数据格式采用treeformat=byData, XML模板中含有LazyLoad列; 模拟场景: 知道每行是否有子孙,取子孙的URL是在每行的“LazyLoad”数据列中. |
//LazyLoad是表达式 <Properties isTree="true" treeformat="byData" ...> ... //含有固定的LazyLoad列,让其隐藏即可 <Col name="LazyLoad" isHide="absHide" />2.这是类似的数据格式,内含取得子孙的LazyLoad的URL.