可以查询出第一次分页的结果,并展示到前台,但是相关信息并没有关联上,如第{0} 到 {1} 条数据 共{2}条显示不了。只显示“没有数据”。
前台代码如下:
- JScript code
//初始化grid var grid = null; //查询信息 var store = new Ext.data.Store({ //proxy: new Ext.data.HttpProxy({url:'../system/sysparamList!query.icode?flag=extjs&recordCount=<s:property value="pageAttribute.recordCount"/>&pageCount=<s:property value="pageAttribute.pageCount"/>&pageNo=<s:property value="pageAttribute.pageNo"/>&maxResults=<s:property value="pageAttribute.maxResults"/>&startPosition=<s:property value="pageAttribute.startPosition"/>'}), proxy: new Ext.data.HttpProxy({url:'../system/sysparamList!query.icode'}), reader:new Ext.data.JsonReader({ root:'jsonarray', totalProperty:'totalCount', id:'paramid' }, storeRecord), method:'post' }); grid = new Ext.grid.GridPanel({ renderTo:"mainDiv", //grid查询结果指向显示的div层 title:"用户查询结果", //grid标题 autoHeight : true, cm:colM, //定义的列 store:store, //定义的数据源 bbar: new Ext.PagingToolbar({ pageSize: 20, store: store, params : { start : 'start', limit : 'limit' }, displayInfo: true, displayMsg: '第{0} 到 {1} 条数据 共{2}条', emptyMsg: "没有数据" }) }); store.load({params:{start:0, limit:20}});
后台代码如下:
- Java code
db = new DBOperation(); dao = new SysparamDAO(db); sysparamList = doQuery(); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/json;charset=UTF-8"); JSONArray json = JSONArray.fromObject(sysparamList); String jsonarray = json.toString(); jsonarray = "{\"totalCount\":\"" + sysparamList.size()+ "\",\"jsonarray\":" + jsonarray + "}"; System.out.println(jsonarray); response.getWriter().write(jsonarray);
json数据格式如下:
- JScript code
{"totalCount":"20","jsonarray":[{"data":"","fmt":"","gcode":"TRVL_DORM","id":469,"mcode":"0","mname":"酒店","scope":0,"sort":0},{"data":"","fmt":"","gcode":"TRVL_TRAFFIC","id":472,"mcode":"0","mname":"飞机","scope":0,"sort":0},{"data":"","fmt":"","gcode":"PRV_MARRY","id":289,"mcode":"0","mname":"未婚","scope":0,"sort":0},xxx,xxx,xxx……]}
[/URL]][/img]
------解决方案--------------------
json我一直没有成功过,后来改为xml了
js
- JScript code
store_ElectriPrice = Ext.create('Ext.data.Store',{ pageSize: 20, model: 'ElectriPrice', autoLoad: true, proxy: { type: 'ajax', url: '/ajax/manage-get_electri_price_xml', reader: { type: 'xml', record: 'node', idProperty: 'code', totalProperty: 'TotalRecord' } }, remoteSort: true }); grid_ElectriPrice = Ext.create('Ext.grid.Panel', { height: "100%", store: store_ElectriPrice, columns: [ { text: "编号", width: 180, dataIndex: 'code', sortable: true }, { text: "名称", width: 180, dataIndex: 'name', sortable: true }, { text: "价格", width: 115, dataIndex: 'price', sortable: true} ], tbar: { xtype: 'toolbar', enableOverflow: true, items: [{ xtype: 'tbtext', text: '电价管理' }, '->', { iconCls: 'icon-add', text: '添加', scope: this, handler: onAddClick_ElectriPrice }, { iconCls: 'icon-edit', text: '编辑', scope: this, handler: onEditClick_ElectriPrice }, { iconCls: 'icon-delete', text: '删除', scope: this, handler: onDeleteClick_ElectriPrice }] }, bbar: { xtype: 'pagingtoolbar', store: store_ElectriPrice, displayInfo: true, listeners: { change: function (PagingToolbar, pageData) { obj_ElectriPrice = null; } } }, viewConfig: { listeners: { itemclick: function (DataView, record, item, index, e) { obj_ElectriPrice = record; }, itemdblclick: function (DataView, record, item, index, e) { onEditClick_ElectriPrice() } } }, listeners: { destroy: function (Component) { grid_ElectriPrice = null; } } });