1

そのため、ExtJS を使用してグリッドをデータでレンダリングしています。グリッドには良い機能がありますが、最後の行に「すべての合計」と表示したいのですが、最初のグループのタイトルが繰り返されています。

以下は、私のカスタム グループ ヘッダーです。

features: [{
        ftype: 'summary'
    }, {
        //ftype: 'grouping'
        ftype: 'groupingsummary',
        groupHeaderTpl: Ext.create('Ext.XTemplate',
            '',
            '{name:this.formatName} ({rows.length})',
            {
                formatName: function(name) {
                    return name.charAt(0).toUpperCase() + name.slice(1);
                }
            }
        ),
        //groupHeaderTpl: '{name} ({rows.length})',
        hideGroupedHeader: true
    }],

そして、ここに合計タイトルを生成している要約タイプの設定があります:

columns: [{
                id       :'service-product',
                text   : 'Product',
                flex: 1,
                sortable : true,
                dataIndex: 'PACKAGE',
                summaryType: function(records) {
                    var myGroupName = records[0].get('LISTING');
                    return '<span style="font-weight: bold;">'+myGroupName.charAt(0).toUpperCase() + myGroupName.slice(1)+' Totals</span>';
                }
            }

これは、カスタムにしたいタイトルが強調表示されたスクリーンショットです。私はいくつかのことを試しました。このセルへの参照を取得してタイトルを変更する方法を知っている人はいますか?

ここに画像の説明を入力

前もって感謝します :)

ネイサン

4

1 に答える 1

2

this中をご覧いただけますsummaryTypeExt.data.Store合計グループに対して呼び出されると を指し、「通常の」グループに対して呼び出されると を指すことに気付きましたExt.util.Group

したがって、例summaryTypeは次のようになります。

summaryType: function(records) {
    console.log(this.$className);
    if (this.isStore) {
        return "Total of all";
    }
    var myGroupName = records[0].get('group');
    return '<span style="font-weight: bold;">' + myGroupName + ' Totals</span>';
}

作業サンプル: http://jsfiddle.net/b2LS5/4/

于 2014-07-14T18:00:50.937 に答える