1

ここでスクリーンショットを確認してください次のコードを使用して、既存のツールバーにページング ツールバーを 1 つ追加し、最初、前、次、最後、および更新ボタンを非表示にしようとしています。私の問題は、正しい afterPageText 値 (ページの総数) を取得できないことです。xCP Designer の結果リストに対してこれを行っています。助けてください。

コード:

    
Ext.define('Override.toolbar.Paging', {
override: 'Ext.toolbar.Paging',
hideFirstButton: false,
hidePrevButton: false,
hideBeforePageText: false,
hidePageNumberField: false,
hideAfterPageText: false,
hideNextButton: false,
hideLastButton: false,
hideRefreshButton: false,   
getPagingItems: function() {
        var me = this;
        return [{
        itemId: 'first',
        tooltip: me.firstText,
        overflowText: me.firstText,
        iconCls: Ext.baseCSSPrefix + 'tbar-page-first',
        hidden: me.hideFirstButton,
        disabled: true,
        handler: me.moveFirst,
        scope: me
        }, {
        itemId: 'prev',
        tooltip: me.prevText,
        overflowText: me.prevText,
        iconCls: Ext.baseCSSPrefix + 'tbar-page-prev',
        hidden: me.hidePrevButton,
        disabled: true,
        handler: me.movePrevious,
        scope: me
        }, {
        xtype: 'tbseparator',
        hidden: me.hideFirstButton && me.hidePrevButton
        }, {
        xtype: 'tbtext',
        text: me.beforePageText,
        hidden: me.hideBeforePageText
        }, {
        xtype: 'numberfield',
        itemId: 'inputItem',
        name: 'inputItem',
        hidden: me.hidePageNumberField,
        cls: Ext.baseCSSPrefix + 'tbar-page-number',
        allowDecimals: false,
        minValue: 1,
        hideTrigger: true,
        enableKeyEvents: true,
        keyNavEnabled: false,
        selectOnFocus: true,
        submitValue: false,        
        isFormField: false,
        width: me.inputItemWidth,
        margins: '-1 2 3 2',
        listeners: {
        scope: me,
        keydown: me.onPagingKeyDown,
        blur: me.onPagingBlur
            }
        }, {
            xtype: 'tbtext',
            itemId: 'afterTextItem',
            hidden: me.hideAfterPageText,
            text: "of {0}"
        }, {
            xtype: 'tbseparator',
            hidden: me.hideNextButton && me.hideLastButton
        }, {
            itemId: 'next',
            tooltip: me.nextText,
            overflowText: me.nextText,
            iconCls: Ext.baseCSSPrefix + 'tbar-page-next',
            hidden: me.hideNextButton,
            disabled: true,
           handler: me.moveNext,
            scope: me
        }, {
            itemId: 'last',
            tooltip: me.lastText,
            overflowText: me.lastText,
            iconCls: Ext.baseCSSPrefix + 'tbar-page-last',
            hidden: me.hideLastButton,
            disabled: true,
            handler: me.moveLast,
            scope: me
        }, {
            xtype: 'tbseparator',
            hidden: me.hideRefreshButton
        }, {
            itemId: 'refresh',
            hidden: me.hideRefreshButton,
            tooltip: me.refreshText,
            overflowText: me.refreshText,
            iconCls: Ext.baseCSSPrefix + 'tbar-loading',
            handler: me.doRefresh,
            scope: me
        }];
    }
});
xcp.widget.grid.ResultsListGrid.override({
        initComponent: function () {
            var me = this;
            this.dockedItems = [
			{
                xtype: 'toolbar',
				//store: me.store,
                dock: 'bottom',
				height: '45px',
                items: [
                    //'->',//right alight the button
					{
                xtype: 'xcp_pagingtoolbar',
                store: me.store,
				//flex: true,
                dock: 'bottom',
                displayInfo: true
            },'->',
			{
			xtype: 'pagingtoolbar',
            store: me.store,
			displayInfo: false,
				hideRefreshButton: true,
                hideFirstButton: true,
                hideLastButton: true,
                hidePrevButton: true,
                hideNextButton: true,
				//disabled: true
			}
                    ]
            },				
			];
            this.callParent();
        }
    }
);

ありがとう。-SS

4

1 に答える 1

0

誤った合計ページ数やページング情報の不一致は、ほとんどの場合、サーバーの応答が正しくないことが原因です。

pageSize:20 を構成し、ページ 2 が必要な場合、サーバーはレコード 21 (1 ベースの番号付け) から開始して正確に 20 レコードを返す必要があり、テーブル内の正しい合計レコード数を返す必要があります。

于 2015-01-12T10:18:55.677 に答える