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 的回答虽然看懂了,但不够详细,最好有详细的例子
看下我在源代码加的注解,其实看下面的源代码就已经知道啦
[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]