Ext4 grid checkbox单击事件 :
使用itemclick方法实现
功能:
选择数据源,列出该数据源下所有表格,使用带有checkbox的grid显示,
当选中某个表格即可在另一面板生成树形显示表格和表格下面的字段列,取消选中则可以删除面板中的树,
切换数据源,同样可以实现。
会出现问题: 如果使用select和deselect加载方法在checkbox上,在切换数据源的时候,grid被重新加载数据,被选中的项自动被反选清除掉
所以选择把选中和不选中采用grid的方法实现。
xtype : 'grid',
border : false,
draggable : false,
height : 400,
width : 700,
columnLines : true,
loadMask: true,
selModel : Ext.create('Ext.selection.CheckboxModel', {
checkOnly : true
}),
listeners:{
itemclick:function(sm,selection){
var records=sm.getSelectionModel().getSelection(),i=0,flag=false;
if(records.length>0){
for ( i = 0; i < records.length; i++) {
data = records[i].data;
if(data.tableId==selection.data.tableId){
flag=true;
break;
}
}
}
if(flag){
sm.getSelectionModel().select(selection, true);
调用添加树方法
}else{
调用删除树方法
}
}
}
border : false,
draggable : false,
height : 400,
width : 700,
columnLines : true,
loadMask: true,
selModel : Ext.create('Ext.selection.CheckboxModel', {
checkOnly : true
}),
listeners:{
itemclick:function(sm,selection){
var records=sm.getSelectionModel().getSelection(),i=0,flag=false;
if(records.length>0){
for ( i = 0; i < records.length; i++) {
data = records[i].data;
if(data.tableId==selection.data.tableId){
flag=true;
break;
}
}
}
if(flag){
sm.getSelectionModel().select(selection, true);
调用添加树方法
}else{
调用删除树方法
}
}
}