SXNMNO1
2009-12-16 13:26
浏览 523
已采纳

EXTJS查询框架SearchField怎么用?

var find = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:"/Shopping/AllWareServlet",method:'GET'}),
reader: new Ext.data.JsonReader({totalProperty:'totalProperty', root:'root'}, [
{name: 'url'},
{name: 'id'},
{name: 'name'},
{name: 'date'},
{name: 'type'},
{name: 'oprice'},
{name: 'memberprice'},
])
});

new Ext.app.SearchField({
store: find,
width:320
})
问问各位大侠这个查询框架是怎么用的,特别是它根据什么属性查询的最好有内部代码
[b]问题补充:[/b]
:) chanball 的回答虽然看懂了,但不够详细,最好有详细的例子

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • chanball 2009-12-16 15:40
    已采纳

    看下我在源代码加的注解,其实看下面的源代码就已经知道啦
    [code="js"]
    Ext.app.SearchField = Ext.extend(Ext.form.TwinTriggerField, {
    initComponent : function(){
    Ext.app.SearchField.superclass.initComponent.call(this);
    this.on('specialkey', function(f, e){
    if(e.getKey() == e.ENTER){//按回车键时
    this.onTrigger2Click();
    }
    }, this);
    },

    validationEvent:false,
    validateOnBlur:false,
    trigger1Class:'x-form-clear-trigger',
    trigger2Class:'x-form-search-trigger',
    hideTrigger1:true,
    width:180,
    hasSearch : false,
    paramName : 'query',//查询的参数名
    
    onTrigger1Click : function(){//清空查询条件
        if(this.hasSearch){
            this.el.dom.value = '';
            var o = {start: 0};
            this.store.baseParams = this.store.baseParams || {};
            this.store.baseParams[this.paramName] = '';
            this.store.reload({params:o});
            this.triggers[0].hide();
            this.hasSearch = false;
        }
    },
    
    onTrigger2Click : function(){//点击查询按钮或回车调用该方法
        var v = this.getRawValue();
        if(v.length < 1){
            this.onTrigger1Click();
            return;
        }
        var o = {start: 0};
        this.store.baseParams = this.store.baseParams || {};
        this.store.baseParams[this.paramName] = v;
        this.store.reload({params:o});
        this.hasSearch = true;
        this.triggers[0].show();
    }
    

    });
    [/code]

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题