ExtJS4 grid合并单元格

效果图:



Ext.define('V5.cxb.controller.Cxb', {

extend : 'Ext.app.Controller',
models : ['V5.cxb.model.Cxb'],
stores : [],
views : ['V5.cxb.view.Grid'],
refs : [{
ref:'Grid',
selector:'cxbGrid'
}],


init : function() {
var me = this;

this.control({
'button' : {
click : me.doAction
}
});
},
doAction : function(btn) {
var me = this;
var grid = Ext.ComponentQuery.query('#cxb');
var store = grid[0].getStore();
store.on('load',function(){
console.log(grid[0].getView());
//合并时从右往左(行),从下往上合并(列)
span(grid,0,1,'row',3);
span(grid,3,1,'row',2);
span(grid,0,0,'row',5);


});
var span = function(grid,row,col,type,num){
switch(type){
case'row':     //合并行
tds = Ext.get(grid[0].view.getNode(row)).query('td');
Ext.get(tds[col]).set({rowspan:num});
Ext.get(tds[col]).setStyle({'vertical-align':'middle'});
for(var i = row + 1; i < row + num; i ++){
Ext.get(Ext.get(grid[0].view.getNode(i)).query('td')[col]).destroy();
}break;
case 'col':   //合并列
tds = Ext.get(grid[0].view.getNode(row)).query('td');
Ext.get(tds[col]).set({colspan:num});
break;
}

}

//重新加载时触发

store.reload(1);
}
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值