溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ExtJS5.1.2 實(shí)現(xiàn)雙表頭動態(tài)列

發(fā)布時(shí)間:2020-07-23 13:07:21 來源:網(wǎng)絡(luò) 閱讀:420 作者:水木童 欄目:web開發(fā)

需求:用ExtJS5.1.2制作以下Grid效果(其中列3是動態(tài)的):
ExtJS3的實(shí)現(xiàn)方式和5不一樣。
ExtJS5.1.2 實(shí)現(xiàn)雙表頭動態(tài)列

基本代碼:
為了實(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'
                }]
        }]
}

解決思路:

  1. 先顯示所有動態(tài)列,然后隱藏。
    --> 失敗,使用Ext.getCmp(id).hide()或者show()會導(dǎo)致頁面無響應(yīng)。這個(gè)方法在單表頭的時(shí)候沒有問題。

  2. 先全部按單列(不嵌套columns)顯示,然后使用hide()隱藏不需要的列,再合并第一行表頭。
    --> 目前沒有找到實(shí)現(xiàn)方法。

  3. 動態(tài)追加列3。
    --> 使用columnManager.secondHeaderCt.insert(指定位置, column數(shù)組)或者add(column數(shù)組)。
    代碼樣本:
    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。
ExtJS5.1.2 實(shí)現(xiàn)雙表頭動態(tài)列

ExtJS5.1.2 實(shí)現(xiàn)雙表頭動態(tài)列

向AI問一下細(xì)節(jié)

免責(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)容。

AI