grid=ext.getCmp('gridPanel')
row=0;要合并的行的起始位置数,
col=0;要合并的列的起始位置数,
type //row 行合并 col列合并 合并类型
num=3; 要合并的行数
function spanfun(grid,row,col,type,num){ var tds=""; switch (type) { case 'row': tds = Ext.get(grid.view.getNode(row)).query('td'); Ext.get(tds[col]).set({ rowspan: num }); Ext.get(Ext.get(tds[col])).setStyle({ 'vertical-align': 'middle' }); for (i = row + 1; i < row + num; i++) { Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy(); } break; case 'col': tds = Ext.get(grid.view.lockedView.getNode(row)).query('td'); Ext.get(tds[col]).set({ colspan: num }); break; } }
调用函数:
Ext.data.StoreManager.lookup("gridStore").on('load',function(store, records, success, eOpts){ num=store.getProxy().getReader().rawData.NUM; listLeng=Ext.getStore('gridStore').getProxy().getReader().rawData.list.length });
Ext.getCmp("gridpanel").getStore().on('load',function(){ var len=listLeng/num; for(var j=0;j<=listLeng;){ spanfun(Ext.getCmp("gridpanel"),0,j,'row',num); j=j+num; } // spanfun(Ext.getCmp("gridpanel"),0,0,'row',num); });