ext 페이지 수 선택, PageSizePlugin 사용 기록

2151 단어 ext
PageSizePlugin의 사용 기록:
PageSizePlugin.js

Ext.namespace('Ext.ux');

Ext.ux.PageSizePlugin = function() {
    Ext.ux.PageSizePlugin.superclass.constructor.call(this, {
        store: new Ext.data.SimpleStore({
            fields: ['text', 'value'],
            data: [['10', 10], ['20', 20], ['30', 30], ['50', 50], ['100', 100]]
        }),
        mode: 'local',
        displayField: 'text',
        valueField: 'value',
        editable: false,
        allowBlank: false,
        triggerAction: 'all',
        width: 60
    });
};

Ext.extend(Ext.ux.PageSizePlugin, Ext.form.ComboBox, {
    init: function(paging) {
        paging.on('render', this.onInitView, this);
    },
    
    onInitView: function(paging) {
        paging.add('-',
            this,
            ' / '
        );
        this.setValue(paging.pageSize);
        this.on('select', this.onPageSizeChanged, paging);
    },
    
    onPageSizeChanged: function(combo) {
        this.pageSize = parseInt(combo.getValue());
        compage = parseInt(combo.getValue());
        this.doLoad(0);
    }
});

"모두"옵션을 추가하려고 했지만 아직 시도하지 못했습니다. 만약 그 분이 꺼내서 귀찮게 하면 다음에 알려주세요.
grid의 코드 세션:

bbar : new Ext.PagingToolbar({
	pageSize : pagesize,
	displayInfo : true,
	emptyMsg : ' ',
	store : store,
	plugins : [new Ext.ux.PageSizePlugin()]
			})

간단합니다. 이 정도면 됩니다. 물론 그 전에 전달해야 할 매개 변수를 전달해야 합니다. 저는 이렇게 전달했습니다.

store.on('beforeload', function(thiz, options) {
         var a= Ext.get('a').dom.value;
	var b= Ext.get('b').dom.value;
		Ext.apply(thiz.baseParams, {
	         a: a,
		b: b
									});

	});


좋은 웹페이지 즐겨찾기