Ext JS рендерер столбцов, количество строк и setLoading - PullRequest
0 голосов

У меня есть grid.Panel, по умолчанию он скрыт. Когда я показываю его, он отображает 100 строк и выполняет функцию renderer , но если вы вызовете refre sh () для этой таблицы, он отобразит только 49 строк, что делать от этих цифр зависят и как их изменить? Также интересно, есть ли событие, когда строки отображаются, чтобы вызвать setLoading (false) ?

grid.Panel:

    extend: 'Ext.grid.Panel',
    alias: 'widget.commongrid',

    controller: 'commongrid-controller',
    viewModel: {
        type: 'commongrid-model'
    },

    viewConfig: {
        enableTextSelection: true
    },

    enableColumnMove: false,
    columns: [],
    bind: {
        store: '{commonDetailStore}'
    },

    createGrid: function (columns, data) {
        var ctrl = this.getController();

        ctrl.createGrid(columns, data);
    }

Код контроллера:

    createGrid: function (columns, data) {
        var me = this,
            view = me.getView(),
            vm = me.getViewModel(),
            store = vm.getStore('commonDetailStore');

        columns = me.generateColumn(columns);

        view.reconfigure(columns);
        store.loadData(data);
    },

    generateColumn: function (columns) {
        return Ext.Array.map(columns, function (column, index) {
            return {
                'dataIndex': column,
                'text': column,
                'width': 150,
                'sortable': false,
                'resizable': true,
                'menuDisabled': true,
                'renderer': 'onCommonDetailedGridColumnRenderer'
            };
        });
    }

сетка. Модель:

    extend: 'Ext.app.ViewModel',

    alias: 'viewmodel.commongrid-model',

    stores: {
        commonDetailStore: {
            autoLoad: true,
            proxy: {
                type: 'localstorage'
            },
            fields: []
        }
    }
...