您好,登錄后才能下訂單哦!
需求:用ExtJS5.1.2制作以下Grid效果(其中列3是動態(tài)的):
ExtJS3的實(shí)現(xiàn)方式和5不一樣。
基本代碼:
為了實(shí)現(xiàn)雙表頭,需要嵌套columns。
{
id : 'grid1',
xtype : 'grid'
columns : [{
header : '列1',
xtype : 'gridcolumn'
}, {
header : '列2',
xtype : 'gridcolumn'
}, {
header : '列3',
xtype : 'gridcolumn',
columns : [{
header : '列3-1',
xtype : 'gridcolumn'
} , {
header : '列3-2',
xtype : 'gridcolumn'
}, {
header : '列3-3',
xtype : 'gridcolumn'
}]
}]
}
解決思路:
先顯示所有動態(tài)列,然后隱藏。
--> 失敗,使用Ext.getCmp(id).hide()或者show()會導(dǎo)致頁面無響應(yīng)。這個(gè)方法在單表頭的時(shí)候沒有問題。
先全部按單列(不嵌套columns)顯示,然后使用hide()隱藏不需要的列,再合并第一行表頭。
--> 目前沒有找到實(shí)現(xiàn)方法。
var columnList = [];
columns.push({
header : '列3-1',
xtype : 'gridcolumn'
}, {
header : '列3-2',
xtype : 'gridcolumn'
}, {
header : '列3-3',
xtype : 'gridcolumn'
});
var grid = Ext.getCmp('grid1');
grid.columnManager.secondHeaderCt.add(
xtype : 'gridcolumn',
header : '列3',
columns : columnList
);
ExtJS并不建議使用Ext.grid.ColumnManager,官方API也找不到grid.columnManager.secondHeaderCt,可以通過Chrome/F12/Console/輸入“Ext.getCmp('grid').columnManager”找到secondHeaderCt。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。