Take the 2-minute tour ×

I've made an application with ExtJS infinite grid like this example.

My application receives data from a database.

It worked perfectly with the small amounts of rows (by 100000).

But now a database contains one million of rows. And I observed a strange effect: data are not loaded completely. Each time the grid shows different number of rows (maximum 859176). But I need to load all rows from a database.

Does anybody know how to solve this problem?

My code:

Ext.require ([

Ext.onReady(function () {

    Ext.define('DoctorsList', {
        extend: 'Ext.data.Model',
        fields: [
            'id', 'fio', 'specialization', 'photo'
        idProperty: 'id'

    var store = Ext.create('Ext.data.Store', {
        id: 'store',
        model: 'DoctorsList',
        buffered: true,
        pageSize: 100,
        proxy: {
            type: 'ajax',
            url: 'get_doctors.jsp',
            reader: {
                root: 'data',
                totalProperty: 'total'
        autoLoad: true

    Ext.create('Ext.grid.Panel', {
        height: 600,
        title: 'Doctor\'s list',
        collapsible: true,
        store: store,
        columns: [
            text: 'ID',
            dataIndex: 'id',
            width: 50,
            sortable: true
            text: 'Full name',
            dataIndex: 'fio',
            width: 300,
            sortable: true
            text: 'Specialization',
            dataIndex: 'specialization',
            width: 150,
            sortable: true
            text: 'Photo',
            dataIndex: 'photo',
            width: 100,
            sortable: false,
            renderer: function(value) {
                return '<img width="100" src="images/' + value + '" />';
        renderTo: 'doctors-list'



Here you can see last request and response to get_doctors.jsp. You can notice there that the field 'total' has number 1005000 but last row has ID 423165. And here is the screen of MS SQL database selection. You can see there that used table has 1005000 rows totally.

ADDITION 2: This bug appears in Firefox and IE8, but it does not appear in Opera, Google Chrome and Safari.


share|improve this question
Can you check what went over the network to make sure there were actually 1m items? –  usr Mar 31 '13 at 17:58
Yes, please post the network request(s) and response(s) to get_doctors.jsp You can find them in the Network panel of your browser's developer tools. –  Tobia Mar 31 '13 at 18:08
who in the real world needs 1m records brought to the client? –  dbrin Mar 31 '13 at 19:29
@dbrin , I really don't know but it's my task. I have to do it. –  Aleksey Mar 31 '13 at 19:49
You could implement remote paging instead so you are only bringing back 100-200 rows from the DB at a time –  drew630 Aug 21 '13 at 14:23
show 2 more comments


Your Answer



Browse other questions tagged or ask your own question.