如题,纠结死了 一个页面分模块展现多个tree ,一个模块一个treepanel 没图说个JB,上图:我现在的思路是这样的:一个模块用了一个单独的treepanel,一个单独的方法 。 但是现在出现问题了 。 如图 数据乱了。是偶尔乱 不是每次都乱,后台跟踪没错误。是前台解析错了。在FF下跟踪。如图
请求不同,但是获取的返回结果相同。后台跟踪没错,如图
网上说是loader的ID重复了 我这里没用ID 后来加上ID 也是这个样。随机出现错误。不是每次都出现。
不说了 ,上代码看看!//待办事项菜单开始
var personalloader= new Ext.tree.TreeLoader({
});
var personaltreePanel = new Ext.tree.TreePanel({
title: '个人事务',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : personalloader
});
var personalroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "个人事务"
});
personaltreePanel.setRootNode(personalroot);
personaltreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
personalloader.dataUrl = basepath + "base/getBackLogMenus_SysMenuAction.action";
personalloader.baseParams.type = "dynamicLoadTreePanel";
personalloader.baseParams.backLogmenuCode = node.attributes.menuCode;
});
//root.expand(true,true);
//绑定鼠标单击事件
personaltreePanel.on('click', treeClick);
//待办事项结束
//我的工作菜单开始
var myworkloader= new Ext.tree.TreeLoader({
});
var myworktreePanel = new Ext.tree.TreePanel({
title: '我的工作',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : myworkloader
});
var myworkroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "我的工作"
});
myworktreePanel.setRootNode(myworkroot);
myworktreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
myworkloader.dataUrl = basepath + "base/getMyWorkMenus_SysMenuAction.action";
myworkloader.baseParams.type = "dynamicLoadTreePanel";
myworkloader.baseParams.myWorkmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
myworktreePanel.on('click', treeClick);
//我的工作菜单结束
//承揽管理菜单开始
var hireloader= new Ext.tree.TreeLoader({
});
var hiretreePanel = new Ext.tree.TreePanel({
title: '承揽管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : hireloader
});
var hireroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "承揽管理"
});
hiretreePanel.setRootNode(hireroot);
hiretreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
hireloader.dataUrl = basepath + "base/getHirekMenus_SysMenuAction.action";
hireloader.baseParams.type = "dynamicLoadTreePanel";
hireloader.baseParams.hiremenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
hiretreePanel.on('click', treeClick);
//承揽管理菜单结束
//工程施工菜单开始
var engineeringloader= new Ext.tree.TreeLoader({
});
var engineeringtreePanel = new Ext.tree.TreePanel({
title: '工程施工',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : engineeringloader
});
var engineeringroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "工程施工"
});
engineeringtreePanel.setRootNode(engineeringroot);
engineeringtreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
engineeringloader.dataUrl = basepath + "base/getEngineerMenus_SysMenuAction.action";
engineeringloader.baseParams.type = "dynamicLoadTreePanel";
engineeringloader.baseParams.engineermenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
engineeringtreePanel.on('click', treeClick);
//工程施工菜单结束
//安全质量管理菜单开始
var safeloader= new Ext.tree.TreeLoader({
});
var safetreePanel = new Ext.tree.TreePanel({
title: '安全质量管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : safeloader
});
var saferoot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "安全质量管理"
});
safetreePanel.setRootNode(saferoot);
safetreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
safeloader.dataUrl = basepath + "base/getSafeMenus_SysMenuAction.action";
safeloader.baseParams.type = "dynamicLoadTreePanel";
safeloader.baseParams.safemenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
safetreePanel.on('click', treeClick);
//安全质量管理菜单结束
//综合管理菜单开始
var multipleloader= new Ext.tree.TreeLoader({
});
var multipletreePanel = new Ext.tree.TreePanel({
title: '综合管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : multipleloader
});
var multipleroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "综合管理"
});
multipletreePanel.setRootNode(multipleroot);
multipletreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
multipleloader.dataUrl = basepath + "base/getIntegratedMenus_SysMenuAction.action";
multipleloader.baseParams.type = "dynamicLoadTreePanel";
multipleloader.baseParams.integratedmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
multipletreePanel.on('click', treeClick);
//综合管理菜单结束
//系统管理菜单开始
var systemloader= new Ext.tree.TreeLoader({
});
var systemtreePanel = new Ext.tree.TreePanel({
title: '系统管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : systemloader
});
var systemroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "系统管理"
});
systemtreePanel.setRootNode(systemroot);
systemtreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
systemloader.dataUrl = basepath + "base/getSystemMenus_SysMenuAction.action";
systemloader.baseParams.type = "dynamicLoadTreePanel";
systemloader.baseParams.systemmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
systemtreePanel.on('click', treeClick);
//系统管理菜单结束
求指教啊!!!!!纠结死我了!EXTTREEjavascript数据混乱
请求不同,但是获取的返回结果相同。后台跟踪没错,如图
网上说是loader的ID重复了 我这里没用ID 后来加上ID 也是这个样。随机出现错误。不是每次都出现。
不说了 ,上代码看看!//待办事项菜单开始
var personalloader= new Ext.tree.TreeLoader({
});
var personaltreePanel = new Ext.tree.TreePanel({
title: '个人事务',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : personalloader
});
var personalroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "个人事务"
});
personaltreePanel.setRootNode(personalroot);
personaltreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
personalloader.dataUrl = basepath + "base/getBackLogMenus_SysMenuAction.action";
personalloader.baseParams.type = "dynamicLoadTreePanel";
personalloader.baseParams.backLogmenuCode = node.attributes.menuCode;
});
//root.expand(true,true);
//绑定鼠标单击事件
personaltreePanel.on('click', treeClick);
//待办事项结束
//我的工作菜单开始
var myworkloader= new Ext.tree.TreeLoader({
});
var myworktreePanel = new Ext.tree.TreePanel({
title: '我的工作',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : myworkloader
});
var myworkroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "我的工作"
});
myworktreePanel.setRootNode(myworkroot);
myworktreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
myworkloader.dataUrl = basepath + "base/getMyWorkMenus_SysMenuAction.action";
myworkloader.baseParams.type = "dynamicLoadTreePanel";
myworkloader.baseParams.myWorkmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
myworktreePanel.on('click', treeClick);
//我的工作菜单结束
//承揽管理菜单开始
var hireloader= new Ext.tree.TreeLoader({
});
var hiretreePanel = new Ext.tree.TreePanel({
title: '承揽管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : hireloader
});
var hireroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "承揽管理"
});
hiretreePanel.setRootNode(hireroot);
hiretreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
hireloader.dataUrl = basepath + "base/getHirekMenus_SysMenuAction.action";
hireloader.baseParams.type = "dynamicLoadTreePanel";
hireloader.baseParams.hiremenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
hiretreePanel.on('click', treeClick);
//承揽管理菜单结束
//工程施工菜单开始
var engineeringloader= new Ext.tree.TreeLoader({
});
var engineeringtreePanel = new Ext.tree.TreePanel({
title: '工程施工',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : engineeringloader
});
var engineeringroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "工程施工"
});
engineeringtreePanel.setRootNode(engineeringroot);
engineeringtreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
engineeringloader.dataUrl = basepath + "base/getEngineerMenus_SysMenuAction.action";
engineeringloader.baseParams.type = "dynamicLoadTreePanel";
engineeringloader.baseParams.engineermenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
engineeringtreePanel.on('click', treeClick);
//工程施工菜单结束
//安全质量管理菜单开始
var safeloader= new Ext.tree.TreeLoader({
});
var safetreePanel = new Ext.tree.TreePanel({
title: '安全质量管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : safeloader
});
var saferoot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "安全质量管理"
});
safetreePanel.setRootNode(saferoot);
safetreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
safeloader.dataUrl = basepath + "base/getSafeMenus_SysMenuAction.action";
safeloader.baseParams.type = "dynamicLoadTreePanel";
safeloader.baseParams.safemenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
safetreePanel.on('click', treeClick);
//安全质量管理菜单结束
//综合管理菜单开始
var multipleloader= new Ext.tree.TreeLoader({
});
var multipletreePanel = new Ext.tree.TreePanel({
title: '综合管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : multipleloader
});
var multipleroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "综合管理"
});
multipletreePanel.setRootNode(multipleroot);
multipletreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
multipleloader.dataUrl = basepath + "base/getIntegratedMenus_SysMenuAction.action";
multipleloader.baseParams.type = "dynamicLoadTreePanel";
multipleloader.baseParams.integratedmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
multipletreePanel.on('click', treeClick);
//综合管理菜单结束
//系统管理菜单开始
var systemloader= new Ext.tree.TreeLoader({
});
var systemtreePanel = new Ext.tree.TreePanel({
title: '系统管理',
autoScroll:true,//带下拉滚动条
animate : true,// 以动画形式伸展,收缩子节点
rootVisible : false,
//root: root,
border : false,
useArrows : false,// 是否显示小箭头
loader : systemloader
});
var systemroot = new Ext.tree.AsyncTreeNode({// 定义根节点
text : "系统管理"
});
systemtreePanel.setRootNode(systemroot);
systemtreePanel.on("beforeload", function(node) {// 在beforeload事件中动态传递参数,对于TreePanel不能像GridPanel和ComboBox用Store的load传递参数,但是可以使用beforeload方法,而且这种方法也同样适用于前两者
systemloader.dataUrl = basepath + "base/getSystemMenus_SysMenuAction.action";
systemloader.baseParams.type = "dynamicLoadTreePanel";
systemloader.baseParams.systemmenuCode = node.attributes.menuCode;
});
// 绑定树的点击事件
systemtreePanel.on('click', treeClick);
//系统管理菜单结束
求指教啊!!!!!纠结死我了!EXTTREEjavascript数据混乱
解决方案 »
- 怎样配置log4j达到为不同的类设置不同的日志级别
- invalid OCI operation
- 求教,在程序中修改IE代理服务器的问题?
- 需要一个完整的jsp示例,用HttpURLConnection对象 post方式发送一个xml,包括发送页面和接收页面
- SQLSERVER+JSP调用问题.已打上补丁,也把所有的操作设置好,高手急救.
- 求助?????急急急!!!!! 截取字符串问题
- 求救: 通过Resin连接数据库不成功,jndi-name要在哪里配置?
- 請幫我看看這段代碼有什么問題。
- 中文处理小问题,马上给分!
- 大神,问下,我在删除时,出了这个500错,怎么回事
- 如何实现下载文件后的自动保存
- ajax请求遇到302
TreeLoader...为什么不用treeStore?不要几个tree同时load,当该panel展开时再load