{"children":[],"cls":"file","id":3,"leaf":true,"listeners":"{'click': function(node,event){alert('hello world');}}","text":"孙节点"};
不过万恶的Hello world就是不出来。。
请问,有没有办法在数据库定义出树的节点的响应事件?
3 个解决方案
#1
up
#2
节点点击事件是定义在 treepanel 中,不是在 node 中,具体参见下事例。
var contacterTree = new Ext.tree.TreePanel({
id:"treePanelContact",
border:false,
lines:false, // 去掉树的线
rootVisible:true,
autoScroll:true,
animate:true,
width:200,
height : 468,
style:"background-color:#FFFFFF;border-color:#0099FF;",
// enableDD: false, // 允许树可以拖拽
containerScroll: true,
loader: new Ext.tree.TreeLoader({
dataUrl:'<%=path%>/treeOperation.do?action=loadTree'
}),
root:new Ext.tree.AsyncTreeNode({
id : "treeContact",
text: '联系人',
draggable:false,
expanded: true // 展开根节点下的节点
}),
listeners:{
click : function(node){
if(node.id == "treeContact"){
// 如果点击的是根节点,则 GridPanel 显示所有的数据
store.load({params:{flag:'all'}});
}
else if(node.isLeaf() == true){
// 如果点击的是枝节点的话,则根据 ID 查询联系人的信息
store.load({params:{flag:'contacter',contacterId:node.id}});
}else{
// 如果既不是根节点也不是枝节点,那么点击的就是分组节点,
// 则 GridPanel 显示对应分组号的联系人信息
store.load({params:{flag:'group',groupId:node.id}});
}
}
}
});
#3
楼上回答的什么啊,怎么看不到啊
#1
up
#2
节点点击事件是定义在 treepanel 中,不是在 node 中,具体参见下事例。
var contacterTree = new Ext.tree.TreePanel({
id:"treePanelContact",
border:false,
lines:false, // 去掉树的线
rootVisible:true,
autoScroll:true,
animate:true,
width:200,
height : 468,
style:"background-color:#FFFFFF;border-color:#0099FF;",
// enableDD: false, // 允许树可以拖拽
containerScroll: true,
loader: new Ext.tree.TreeLoader({
dataUrl:'<%=path%>/treeOperation.do?action=loadTree'
}),
root:new Ext.tree.AsyncTreeNode({
id : "treeContact",
text: '联系人',
draggable:false,
expanded: true // 展开根节点下的节点
}),
listeners:{
click : function(node){
if(node.id == "treeContact"){
// 如果点击的是根节点,则 GridPanel 显示所有的数据
store.load({params:{flag:'all'}});
}
else if(node.isLeaf() == true){
// 如果点击的是枝节点的话,则根据 ID 查询联系人的信息
store.load({params:{flag:'contacter',contacterId:node.id}});
}else{
// 如果既不是根节点也不是枝节点,那么点击的就是分组节点,
// 则 GridPanel 显示对应分组号的联系人信息
store.load({params:{flag:'group',groupId:node.id}});
}
}
}
});
#3
楼上回答的什么啊,怎么看不到啊