extjs中怎么给树的每一个节添加事件 15
页面中的树用到是EXTJS,加载的树节点是利用Java代码从数据库将节点信息得到,现在想要给树每个节点添加事件,使得单击树节点后可以使得右侧的表格刷新成与节点信息有关的表...
页面中的树用到是EXTJS,加载的树节点是利用Java代码从数据库将节点信息得到,现在想要给树每个节点添加事件,使得单击树节点后可以使得右侧的表格刷新成与节点信息有关的表格,求高手指点,最好能有具体的实现过程!
展开
2个回答
展开全部
/**
* 树形UI综合示例(异步树)
*
* @author XiongChun
* @since 2010-10-28
*/
Ext.onReady(function() {
var root = new Ext.tree.AsyncTreeNode({
id : '00',
text : '中国',
expanded : true
});
// 表格工具栏
var tbar = new Ext.Toolbar({
items : [{
text : '刷新根节点',
iconCls : 'arrow_refreshIcon',
handler : function() {
tree.getRootNode().reload();
}
}, {
text : '刷新选中节点',
iconCls : 'tbar_synchronizeIcon',
handler : function() {
var selectModel = tree.getSelectionModel();
var selectNode = selectModel.getSelectedNode();
if (Ext.isEmpty(selectNode)) {
Ext.Msg.alert('提示', '没有选中任何节点!');
} else {
selectNode.reload();
}
}
}]
});
// 定义一个树面板
var tree = new Ext.tree.TreePanel({
loader : new Ext.tree.TreeLoader({
baseAttrs : {},
dataUrl : 'treeDemo.ered?reqCode=queryAreas'
}),
title : '',
tbar : tbar,
renderTo : 'treeDiv',
width : 400,
// border: false, //面板边框
useArrows : false, // 箭头节点图标
root : root, // 根节点
height : 500,
autoScroll : true, // 内容溢出时产生滚动条
animate : false
// 是否动画显示
});
// 选中根节点
// 绑定节点单击事件
tree.on("click", function(node, e) {
Ext.MessageBox.alert('提示', 'ID:' + node.id + " text:"
+ node.text);
});
tree.getRootNode().select();
var firstWindow = new Ext.Window({
title : '<span class="commoncss">树范例二(异步加载树)</span>', // 窗口标题
layout : 'fit', // 设置窗口布局模式
width : 300, // 窗口宽度
height : 400, // 窗口高度
closable : false, // 是否可关闭
collapsible : true, // 是否可收缩
maximizable : true, // 设置是否可以最大化
border : false, // 边框线设置
constrain : true, // 设置窗口是否可以溢出父容器
pageY : 20, // 页面定位Y坐标
pageX : document.body.clientWidth / 2 - 300 / 2, // 页面定位X坐标
items : [tree]
// 嵌入的表单面板
});
firstWindow.show(); // 显示窗口
});
=======================================
点击方法里获取 grid的store,然后
store.reload({
params : {
//将节点id当一个参数传到后台 做查询条件筛选
noid: node.id
}
});
* 树形UI综合示例(异步树)
*
* @author XiongChun
* @since 2010-10-28
*/
Ext.onReady(function() {
var root = new Ext.tree.AsyncTreeNode({
id : '00',
text : '中国',
expanded : true
});
// 表格工具栏
var tbar = new Ext.Toolbar({
items : [{
text : '刷新根节点',
iconCls : 'arrow_refreshIcon',
handler : function() {
tree.getRootNode().reload();
}
}, {
text : '刷新选中节点',
iconCls : 'tbar_synchronizeIcon',
handler : function() {
var selectModel = tree.getSelectionModel();
var selectNode = selectModel.getSelectedNode();
if (Ext.isEmpty(selectNode)) {
Ext.Msg.alert('提示', '没有选中任何节点!');
} else {
selectNode.reload();
}
}
}]
});
// 定义一个树面板
var tree = new Ext.tree.TreePanel({
loader : new Ext.tree.TreeLoader({
baseAttrs : {},
dataUrl : 'treeDemo.ered?reqCode=queryAreas'
}),
title : '',
tbar : tbar,
renderTo : 'treeDiv',
width : 400,
// border: false, //面板边框
useArrows : false, // 箭头节点图标
root : root, // 根节点
height : 500,
autoScroll : true, // 内容溢出时产生滚动条
animate : false
// 是否动画显示
});
// 选中根节点
// 绑定节点单击事件
tree.on("click", function(node, e) {
Ext.MessageBox.alert('提示', 'ID:' + node.id + " text:"
+ node.text);
});
tree.getRootNode().select();
var firstWindow = new Ext.Window({
title : '<span class="commoncss">树范例二(异步加载树)</span>', // 窗口标题
layout : 'fit', // 设置窗口布局模式
width : 300, // 窗口宽度
height : 400, // 窗口高度
closable : false, // 是否可关闭
collapsible : true, // 是否可收缩
maximizable : true, // 设置是否可以最大化
border : false, // 边框线设置
constrain : true, // 设置窗口是否可以溢出父容器
pageY : 20, // 页面定位Y坐标
pageX : document.body.clientWidth / 2 - 300 / 2, // 页面定位X坐标
items : [tree]
// 嵌入的表单面板
});
firstWindow.show(); // 显示窗口
});
=======================================
点击方法里获取 grid的store,然后
store.reload({
params : {
//将节点id当一个参数传到后台 做查询条件筛选
noid: node.id
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询