EXTJS 左边是树菜单,点击节点的时候,在右边的Grid显示相应的数据,就是根据节点ID刷新数据,这样的事件怎写呢?

EXTJS 左边是树菜单,点击节点的时候,在右边的Grid显示相应的数据,就是根据节点ID刷新数据,这样的事件怎写呢?

//tree itemclick 获取id 这个id可以以逗号的方式存放例如:
格式:
节点1,节点对应的类型id,在获取的时候只需要获取id 然后截取 节点对应的类型id
调用gird 的store 传参数的形式加载

storeLeft.load({params:{start:0,limit : 15,type:'demo'}});
//其中 type就在在后台需要getparam的参数,而这个值就是tree itemclick选取节点的截取id,

tree.on("itemclick",function(view,record,item,index,e){
alert("点击的节点ID是:"+record.raw.id+",文字是:"+record.raw.text);
});
参考连接:
[url]http://www.bianceng.cn/webkf/Extjs/201007/18460.htm[/url]

简单来说就是在treepanel的click事件中,把数据load到gridPanel中去咯

click: function(n) {
treeNodeId = n.attributes.id;
treeNodeInfo = n.attributes.text;
studentInfostore.load({
params: {
start: 0,
limit: 30
},
callback: function(r, options, success) {
if (success == false) {
window.location.href = "Login.jsp";
}
}
});
}

左边的树添加一个单击事件,让后再单击事件中让右边的gridpanel的store,我这里是studentInfostore,去加载信息,这时动态改变studentInfostore的参数就行了。studentInfostore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
method: 'post',
prettyUrls: false,
url: 'getStudentInfo.action'
}),
remoteSort: true,
listeners: {
"beforeload": function(store) {
store.baseParams = {
deptId: treeNodeId,
studentsearchKey: Ext.getCmp("specialkey").getValue()
}
}
}

在store中监听beforeload,让baseParams动态改变 。就行了。