分页现在在extjs 4.1网格分页中显示总计

分页现在在extjs 4.1网格分页中显示总计,extjs,extjs4.1,Extjs,Extjs4.1,我注意到在一些或我的网格上没有显示“displayMsg”。把文本放在右下角 如果你看下面的屏幕截图,我已经设置了pageSize:4。实际上总共有“33”个记录,所以分页应该开始。一般来说,分页不显示记录总数的原因有哪些 Ext.define('Mis.view.PurchaseOrder', { extend: 'Ext.grid.Panel', alias:'widget.purchaseorder', title:'Purchase Order', store:'MaterialPurc

我注意到在一些或我的网格上没有显示“displayMsg”。把文本放在右下角

如果你看下面的屏幕截图,我已经设置了pageSize:4。实际上总共有“33”个记录,所以分页应该开始。一般来说,分页不显示记录总数的原因有哪些

Ext.define('Mis.view.PurchaseOrder', {
extend: 'Ext.grid.Panel',
alias:'widget.purchaseorder',
title:'Purchase Order',
store:'MaterialPurchaseOrders',
height: 235,
dockedItems:[
    {
        xtype: 'pagingtoolbar',
        store:'MaterialPurchaseOrders',
        dock: 'bottom',
        displayInfo: true,
        displayMsg:'Displaying records {0} - {1} of {2}  ',
        emptyMsg:"No records to display ",
        flex:1
    }
],
columns:[
    {
        xtype:'gridcolumn',
        dataIndex:'PartName',
        name:'PartName',
        text:'Part',
        flex:1
    },
    {
        xtype:'gridcolumn',
        text:'PO ID',
        dataIndex:'PoNumber',
        name:'PoNumber',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Material',
        dataIndex:'Name',
        name:'Name',
        flex:1
    },
    {
        xtype:'gridcolumn',
        text:'Total',
        dataIndex:'Total',
        name:'Total',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Size / Ref',
        dataIndex:'SizeReference',
        name:'SizeReference',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Size L',
        dataIndex:'SizeLength',
        name:'SizeLength',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Size W',
        dataIndex:'SizeWidth',
        name:'SizeWidth',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Quantity',
        dataIndex:'Quantity',
        name:'Quantity',
        width: 80,
        align: 'center'
    },
    {
        xtype:'gridcolumn',
        text:'Meterage',
        dataIndex:'Meterage',
        name:'Meterage',
        width: 80,
        align: 'center'
    }
],


initComponent:function () {
    this.callParent();
}

}))

我的模特

    Ext.define('Mis.model.MaterialPurchaseOrder', {
    extend: 'Ext.data.Model',
    idProperty: 'Id',
    fields: [
                {
                    mapping: 'Id',
                    name: 'Id'
                },
                {
                    mapping: 'Name',
                    name: 'Name'
                },
                {
                    mapping: 'SizeReference',
                    name: 'SizeReference'
                },
                {
                    mapping: 'SizeLength',
                    name: 'SizeLength'
                },
                {
                    mapping: 'SizeWidth',
                    name: 'SizeWidth'
                },
                {
                    mapping: 'Quantity',
                    name: 'Quantity'
                },
                {
                    mapping: 'Meterage',
                    name: 'Meterage'
                },
                {
                    mapping: 'PoNumber',
                    name: 'PoNumber'
                },
                {
                    mapping: 'PartId',
                    name: 'PartId'
                },
                {
                    mapping: 'PartName',
                    name: 'PartName'
                },
                {
                    mapping: 'Total',
                    name: 'Total'
                },
                {
                    mapping: 'MaterialType',
                    name: 'MaterialType'
                },
                {
                    mapping: 'MaterialTypeId',
                    name: 'MaterialTypeId'
                }
    ],
    proxy: {
        type: 'ajax',
        url: '',
        api:
               {
                   read: '/Material/ReadAssignedPurchaseOrder/',
                   update: '/Material/Update',
                   create: '/Material/Update',
                   destroy: '/Material/Remove'
               },
        reader: {
            type: 'json',
            root: 'Materials',
            successProperty: 'Success',
            totalProperty: 'Total'
        },
            writer:{
            type:'json',
            allowSingle:true
        }
    }
});
贮藏


}))

试着做一个你的商店的例子,这样做从来都不是坏事。以您的示例(按字符串存储)为例,如果打开了两个网格并对其进行排序,则它们的排序将相同,以此类推

Ext.define('Mis.view.PurchaseOrder', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.purchaseorder',
    title: 'Purchase Order',
    height: 235,
    columns: [
        {
        xtype: 'gridcolumn',
        dataIndex: 'PartName',
        name: 'PartName',
        text: 'Part',
        flex: 1},
    {
        xtype: 'gridcolumn',
        text: 'PO ID',
        dataIndex: 'PoNumber',
        name: 'PoNumber',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Material',
        dataIndex: 'Name',
        name: 'Name',
        flex: 1},
    {
        xtype: 'gridcolumn',
        text: 'Total',
        dataIndex: 'Total',
        name: 'Total',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size / Ref',
        dataIndex: 'SizeReference',
        name: 'SizeReference',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size L',
        dataIndex: 'SizeLength',
        name: 'SizeLength',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size W',
        dataIndex: 'SizeWidth',
        name: 'SizeWidth',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Quantity',
        dataIndex: 'Quantity',
        name: 'Quantity',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Meterage',
        dataIndex: 'Meterage',
        name: 'Meterage',
        width: 80,
        align: 'center'}
    ],
    initComponent: function() {
        var me = this;
        var store = Ext.create('Mis.store.MaterialPurchaseOrders');

        Ext.applyIf(me, {
            store: store,
            dockedItems: [{
                xtype: 'pagingtoolbar',
                store: store,
                dock: 'bottom',
                displayInfo: true,
                displayMsg: 'Displaying records {0} - {1} of {2}  ',
                emptyMsg: "No records to display ",
                flex: 1}]
        });
        me.callParent();
    }
});​

只是一个猜测,但请尝试在服务器端将您的Total属性从字符串更改为整数。请尝试此操作。我用的是一根绳子。更新为整数。没有乐趣。感谢您的评论。谢谢。我看到success属性返回“false”-这可能是个问题吗?嗨,Johan,谢谢。非常有用的代码。我已经实现了这项技术,但仍然没有实现。如果在存储中添加以下内容,即使json总数为33,也会得到0。“callback:alert(store.getTotalCount()),”。请尝试更改totalProperty的名称,我没有其他想法。这就是我们使用的:totalProperty:“TotalItems”
Ext.define('Mis.view.PurchaseOrder', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.purchaseorder',
    title: 'Purchase Order',
    height: 235,
    columns: [
        {
        xtype: 'gridcolumn',
        dataIndex: 'PartName',
        name: 'PartName',
        text: 'Part',
        flex: 1},
    {
        xtype: 'gridcolumn',
        text: 'PO ID',
        dataIndex: 'PoNumber',
        name: 'PoNumber',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Material',
        dataIndex: 'Name',
        name: 'Name',
        flex: 1},
    {
        xtype: 'gridcolumn',
        text: 'Total',
        dataIndex: 'Total',
        name: 'Total',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size / Ref',
        dataIndex: 'SizeReference',
        name: 'SizeReference',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size L',
        dataIndex: 'SizeLength',
        name: 'SizeLength',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Size W',
        dataIndex: 'SizeWidth',
        name: 'SizeWidth',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Quantity',
        dataIndex: 'Quantity',
        name: 'Quantity',
        width: 80,
        align: 'center'},
    {
        xtype: 'gridcolumn',
        text: 'Meterage',
        dataIndex: 'Meterage',
        name: 'Meterage',
        width: 80,
        align: 'center'}
    ],
    initComponent: function() {
        var me = this;
        var store = Ext.create('Mis.store.MaterialPurchaseOrders');

        Ext.applyIf(me, {
            store: store,
            dockedItems: [{
                xtype: 'pagingtoolbar',
                store: store,
                dock: 'bottom',
                displayInfo: true,
                displayMsg: 'Displaying records {0} - {1} of {2}  ',
                emptyMsg: "No records to display ",
                flex: 1}]
        });
        me.callParent();
    }
});​