日期:2014-05-16  浏览次数:20399 次

extjs中的查询功能
http://www.cnblogs.com/yinww/archive/2009/11/20/1606657.html

使用baseParams实现grid参数过滤
首先在tbar中定义过滤的条件userName和email

tbar:[{

    text:'添加',

    iconCls:'add',

    handler: function(){

    store.reload();

    }

}, '-', {

    text:'修改',

    iconCls:'option'

},'-',{

    text:'删除',

    iconCls:'remove'

},'->',{

    xtype: 'tbtext',

    text: 'userName'

},{

    xtype: 'textfield',

    id: 'userName',

    name: 'userName'

},{

    xtype: 'tbtext',

    text: 'email'

},{

    xtype: 'textfield',

    id: 'email',

    name: 'email'

}, {

    iconCls:'search',

    handler: function(){

       store.reload();

    }

}]

然后在store.load({params:{start:0, limit:25}});后面加上

store.on('beforeload',function(){

    Ext.apply( store.baseParams, {

        userName: Ext.getDom('userName').value,

        email: Ext.getDom('email').value

    });

}, store);

以确保刷新和search时会将userName/email/start/limit等参数都会传到后台,后台获得这些参数后就能做相应的处理

注意:userName: Ext.getDom('userName').value的'userName'是控件的id,如果该id不存在会导致firefox下不能运行