如图所示,在所有报表中,只有“用户自定义报表”是动态异步加载的,这里前台的js代码为(只显示关键代码):
。。。。。
。。。。。
usernode= new Ext.tree.AsyncTreeNode( {
id:"custom",
text: '用户自定义报表'
});
。。。。。
loader = new Ext.tree.TreeLoader({dataUrl:"/SanXiaMS/servlet/TreeServlet2"});
loader.on('beforeload',function(treeLoader,node){
node.attributes.children = false;
this.baseParams.dataUrl="/SSS/TT/TreeServlet?nodeId="+node.id;//后台用来获取参数的地址
this.baseParams.nodeId=node.id;
},loader
);
var treePanel = new Ext.tree.TreePanel({
lines : true,
loader:loader, //这个一定不能忽略
border : false,
autoScroll : true,
containerScroll: true,
root : root
});
//给自定义报表的叶子节点添加监听事件
treePanel.addListener('click', TreeClick);
function TreeClick(node, e) {
if (node.leaf) {
main.location.href="CustomView.html"; //超链接,让iframe名字为 main的页面跳转
}}
这样在点击“基本属性”等报表就可以在右边出现新的页面了。