Как сгруппировать по месяцам или дням при группировке итогов по сетке extjs? - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть дата, и я должен сгруппировать ее в соответствии с днем ​​этой даты, месяцем этой даты, годом и неделей этой даты.Я использую Extjs 6.5.3.Я хочу сгруппировать по любому из вышеперечисленных.Как я могу это сделать?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 января 2019

Вы можете использовать Ext.grid.feature.Grouping .Внутри сетки конфигурации вы должны определить

features: [{
    ftype: 'grouping'
}],

А также внутри магазина вы должны определить groupField: '{your date field name here}'

Вы можете проверить здесь с рабочей sencha fiddle .

Фрагмент кода

Ext.application({
    name: 'Fiddle',

    launch: function () {

        // create the Data Store
        var store = Ext.create('Ext.data.Store', {
            pageSize: 50,

            groupField: 'lastpost',

            fields: [
                'title', 'forumtitle', 'forumid', 'username', {
                    name: 'replycount',
                    type: 'int'
                }, {
                    name: 'lastpost',
                    mapping: 'lastpost',
                    type: 'date',
                    convert:function(v,r){
                        return Ext.util.Format.date(new Date(parseInt(v)*1000), 'd M Y');
                    }
                },
                'lastposter', 'excerpt', 'threadid'
            ],
            autoLoad: true,

            remoteSort: true,
            proxy: {
                // load using script tags for cross domain, if the data in on the same domain as
                // this page, an HttpProxy would be better
                type: 'jsonp',
                url: '//www.sencha.com/forum/topics-browse-remote.php',
                reader: {
                    rootProperty: 'topics',
                    totalProperty: 'totalCount'
                },
                // sends single sort as multi parameter
                simpleSortMode: true
            },
            sorters: [{
                property: 'lastpost',
                direction: 'DESC'
            }]
        });

        Ext.create('Ext.grid.Panel', {
            title: 'ExtJs Forum',
            store: store,
            columns: [{
                text: 'Forum Title',
                dataIndex: 'forumtitle',
                flex: 1
            }, {
                text: 'Title',
                dataIndex: 'title',
                flex: 1
            }],
            features: [{
                ftype: 'grouping'
            }],
            renderTo: Ext.getBody()
        });
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...