5

非常に多くの列を含むように成長した ExtJS グリッド パネル (imo) があるため、一部のデータをメイン行の「サブ行」に含めることを検討しています。お気に入り:

データ1 | データ2 | データ3 | データ4 | Data5 Data1 | Data1
  にまたがるいくつかの追加データ。
データ2 | データ3 | データ4 | Data5
  にまたがるいくつかの追加データ

私はexpanderプラグインを認識していますが、展開/折りたたみ機能は必要なく、常にサブ行を開く必要があります。

考えやアイデアはありますか?

前もって感謝します。

4

2 に答える 2

17

ExtJS-4 を使用している場合は、

// ...
var rowBodyFeature = Ext.create('Ext.grid.feature.RowBody', {
    getAdditionalData: function(data, rowIndex, record, orig) {
        var headerCt = this.view.headerCt,
        colspan  = headerCt.getColumnCount();
        return {
            rowBody: "HELLO WORLD!", // do something with record
            rowBodyCls: this.rowBodyCls,
            rowBodyColspan: colspan
        };
    }
});

Ext.create('Ext.grid.Panel', {
    // ...
    features: [rowBodyFeature]
    // ...
});

ExtJS-3 を使用している場合は、次を試してください。

new Ext.grid.GridPanel({
    //...
    viewConfig: {
        enableRowBody: true,
        getRowClass: function(record, rowIndex, p, store) {
            p.body = 'HELLOW WORLD: ' + record.get('attribute');
            return 'x-grid3-row-expanded';
        }
    }
于 2011-06-06T05:57:27.397 に答える
0

必要なことは、エキスパンダー プラグインを使用してネストされたグリッドを実装することです。クリックまたは展開イベントで、行の ID をキーとして使用してサブ行をロードできます。

于 2011-05-23T23:30:55.553 に答える