Exjts4 сетка удаленной сводки (без группировки) - PullRequest
1 голос
/ 07 февраля 2012

Я создал Ext.grid.Panel, и теперь мне нужно составить сводку с данными, рассчитанными на сервере. И у меня нет группировки в этой сетке.

В функции ftype: 'summary' нет такого свойства, как 'remoteRoot'. Есть ли возможность создать это резюме без группировки?

1 Ответ

1 голос
/ 12 августа 2013

Вы должны расширить / переопределить класс. Это пример, основанный на AbstractSummary.js и должен быть оптимизирован.

// usage in grid:
{
  ftype : 'summary',
  remoteRoot : 'summary'
}

//response from server
{
   data : [] // our standard data
   summary : {
      summaryField : 123123
   }
}

// our class
Ext.define('w3desApp.grid.feature.Summary', {
 override : 'Ext.grid.feature.Summary',
 getSummary: function(store, type, field, group) {
    var reader = store.proxy.reader;
    if (this.remoteRoot && reader.rawData) {
        // reset reader root and rebuild extractors to extract summaries data
        root = reader.root;
        reader.root = this.remoteRoot;
        reader.buildExtractors(true);
        summaryRow = reader.getRoot(reader.rawData);
        // restore initial reader configuration
        reader.root = root;
        reader.buildExtractors(true);
        if (typeof summaryRow[field] != 'undefined') {
            return summaryRow[field];
        }

        return '';
    }

    return this.callParent(arguments);
  }
});
...