论坛首页 Java企业应用论坛

ext分页的页数选择,记录PageSizePlugin的使用

浏览 4727 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-16   最后修改:2009-02-16
记录一下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
									});

	});

  • 大小: 7.2 KB
   发表时间:2009-03-04   最后修改:2009-03-04
谢谢,看看能不能行。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics