Панель инструментов подкачки перечисляет все строки из хранилища в Extjs2

#extjs

#extjs

Вопрос:

Я использую PaggingToolbar для поддержки подкачки на панели сетки. Проблема в том, что на каждой странице отображаются все записи из хранилища. Кто-нибудь может помочь решить проблему. Подробности кода следующим образом:

У меня есть хранилище с XmlReader

   var store = new Ext.data.Store( {
            url :'urltoreturnxml',
            reader :new Ext.data.XmlReader( {
                record :'Book',
                id :'@id',
                totalRecords :'@total'
            }, [{
                name :'book_id',
                mapping :'@id'
            }, {
                name :'price',
                mapping :'@price'
            } ])
        });
  

И панель сетки

   var grid = new Ext.grid.GridPanel( {
            store :store,
            viewConfig : {
                forceFit :true
            },
            loadMask: true,
            width : 685,
            height : 200,
            columns : [
            //       column names
            ],
            bbar: new Ext.PagingToolbar({ // paging bar on the bottom
                store: store,
                displayInfo: true,
                displayMsg: 'Displaying topics {0} - {1} of {2}',
                emptyMsg: 'error'
            }),
            sm :new Ext.grid.RowSelectionModel( {
                singleSelect :true
            }),
            listeners : {
             //some code
            }

        });
  

Я загружаю хранилище следующим образом

    store.load({ params: {
                         start: 0,
                         limit: 20
                         },
               callback : function(r, options, success) {
         // callback function
            }
    });
  

Любая помощь приветствуется. Спасибо.

Комментарии:

1. «Проблема в том, что на каждой странице отображаются все записи из хранилища». — Вы хотите сказать, что ограничение: 20, которое вы отправляете на сервер, не влияет, и все записи возвращаются сервером каждый раз и отображаются? Что ж, тогда вам нужно снова посетить код на стороне сервера и проверить его. Еще, если возможно, пожалуйста, поделитесь какой-нибудь онлайн-демонстрацией того, что вы испытываете.

Ответ №1:

Ваш сервер должен вернуть количество записей, которые его просят обслуживать. Если вы вернете все записи независимо от вашего запроса клиента, вы получите все результаты в gird.