Ext左侧tree右侧grid,点击左侧tree节点右侧grid数据动态加载问题

最近初学EXTJS,有很多不懂的问题,求大神解答,谢谢!
这是我的grid:
/** 基本信息-表格 */
role.grid = new Ext.grid.GridPanel({
title : '功能列表',
store : role.store,
colModel : role.colModel,
selModel : role.selModel,
tbar : role.tbar,
bbar : role.bbar,
autoScroll : 'auto',
region : 'east',
loadMask : true,
width:'70%',
//autoExpandColumn :'roleDesc',
stripeRows : true,
listeners : {
'cellclick' : function(obj, rowIndex, columnIndex, e) {
var record = role.grid.getSelectionModel().getSelected();
if (record) {
role.treePanel.enable();
// 先清空已选择的状态
role.clearTreeNodeCheckFun(role.treePanel.root, false);
// 当前选择用户的资源信息
Share.AjaxRequest({
url : role.myModules + record.data.roleId,
callback : function(json) {
// 勾选资源树的checkbox
if (json.length > 0) {
for (var i = 0; i < json.length; i++) {
moduleId = json[i].moduleId;
var treeNode = role.treePanel.getNodeById("_authority_" + moduleId);
if(treeNode)
treeNode.getUI().checkbox.checked = true;
}
}
}
});
}
}
},
viewConfig:{}
});
/** 基本信息-详细信息的form */
role.formPanel = new Ext.form.FormPanel({
frame : false,
title : '功能信息',
bodyStyle : 'padding:10px;border:0px',
labelwidth : 70,
defaultType : 'textfield',
items : [{
xtype : 'hidden',
fieldLabel : 'ID',
name : 'roleId',
anchor : '99%'
}, {
fieldLabel : '功能名称',
maxLength : 64,
allowBlank : false,
name : 'roleName',
anchor : '99%'
}, {
xtype : 'textarea',
fieldLabel : '功能描述',
maxLength : 128,
height : 100,
name : 'roleDesc',
anchor : '99%'
}]
});


下面的是treePanel:
role.treePanel = new Ext.tree.TreePanel({
title : '系统模块',
region : 'center',
split : true,
minSize : 200,
maxSize : 900,
useArrows : true,
autoScroll : true,
width : '20%',
animate : true,
enableDD : true,
containerScroll : true,
rootVisible : false,
buttonAlign : 'left',
frame : false,
disabled : true,
root : {
nodeType : 'async'
},
dataUrl : role.allModules,
listeners:{//下面这段话就是控制单选的,TreePanel默认多选
scope:this,
checkchange : function(node, checked) {//传递两个参数,一个是当前节点,一个是当前节点的选中状态
node.attributes.checked = checked;//将当前状态付给node
if(checked){
role.grid.enable();//选中树时设置grid有效
//alert(node.id);
//加载模块对应的功能
}else{
role.grid.setDisabled(true);// 设置grid为无效
}
var chs = role.treePanel.getChecked();//获取当前树中被选中的所有节点
for (var i = 0; i < chs.length; i++) {//循环判断,
if (chs[i].attributes['id'] != node.attributes['id']) {//第i个节点是否与刚刚选中的节点的id相同,
chs[i].ui.toggleCheck(!checked);//如果不同,则执行checked的反操作,也就是选中了变成未选中
}
}
}
}
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值