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

【转载】ExtJS中grid的JsonStore、Ext.PagingToolbar带条件查询问题

原文:http://www.cnblogs.com/lyglcheng/archive/2010/03/11/1683204.html

Extjs中的帮助文档中都是些简单的查询,grid的分页查询只是默认传入start,limit,sort,dir等参数,但实际情况中可能需要传入自定义参数,试了好多次都没有发布传入

?

在网上找一个一个办法,利用JsonStore的beforeload事件来强制添加自定义的参数列表即可以实现,关键代码如下:

var ds = new Ext.data.JsonStore({
?????? url: "../Handlers/PageHandlerPage.aspx",
?????? //url: "../Handlers/PageHandler.ashx",
?????? root: "root",
?????? totalProperty: "totalProperty",
?????? id: "id",
?????? baseParams:{id:Ext.get("txtId").dom.value,name:Ext.get("txtName").dom.value},
?????? fields:["id","name","descn"
?????? ],
?????? remoteSort:true
?? });

?? ds.on("beforeload", function(thiz, options) {
?????? //debugger
?????? thiz.baseParams["id"] = Ext.get("txtId").dom.value;
?????? thiz.baseParams["name"] = Ext.get("txtName").dom.value;
?? });

reloadStore:function(_id){
this.setId(_id);
// 数据加载
this.store.load({
callback : function(r, options, success) {
if (success == false) {
Ext.Msg.alert("ERROR", "发生错误,请与系统管理员联系!");
}
else{
_carBackGridPanel.carBackWindow.myForm.getForm().loadRecord(r[0]);

}
}
});
}