多条件查询页面的参数都是动态的,并且我们通常还会有默认加载页面。此时,动态添加参数非常重要,其中baseparam是解决问题的关键。
@ 将查询条件定义为一个全局变量
var param_01 = "";
var param_02 = "";
@ Ext.data.Store
默认加载时给param_01和param_02赋值,也可以直接在params直接给定量
1 var store = new Ext.data.Store({ 2 autoLoad :{params : {start:0,limit:20}},//第一次加载时 3 reader: new Ext.data.JsonReader({ 4 totalProperty: "total", 5 root: "data" 6 }, 7 Ext.data.Record.create([ 8 {name:"nbbm"}, 9 {name:"num"} 10 ])), 11 proxy : new Ext.data.HttpProxy({ 12 url:"/servlet" 13 }) 14 }); 15 store.on('beforeload',function(){ //分页时每次都会调用 16 Ext.apply( 17 this.baseParams,{ 18 param_01:'1, 19 param_02:'all' 20 }); 21 });
@ 多条件查询时再次给全局变量赋值
1 buttons: [{ 2 text: '查询', 3 width:15, 4 hight:8, 5 handler:function(){ 6 param_01= Ext.getCmp("param_01").getRawValue(); 7 param_02= Ext.getCmp("param_02").getRawValue(); 8 store.on('beforeload',function(){ 9 Ext.apply(this.baseParams,{ 10 param_01:param_01, 11 param_02:param_02}); 12 }); 13 store.load({ 14 url:"/servlet", 15 params:{start:0,limit:20} 16 }); 17 } 18 }]