问题描述
//页面数据数量 var pageSize = 2; var fields = [{ name: "prodTypeoid" }, { name: "prodTypeName" }, //名称 {name: "proDesc" } //备注 ]; //存储数据Store定义 var store = new Ext.data.Store( { proxy: new Ext.data.HttpProxy( { url: url }), //JsonReader固定格式 reader: new Ext.data.JsonReader( { fields: fields, root: "root", //id: "prodTypeoid", totalPorperty: "totalProperty" }) }); var sm = new Ext.grid.CheckboxSelectionModel( { dataIndex: "prodTypeoid" } ); var cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer({ header: "", width: 20, sortable: true }), sm, {header : '类别名称',dataIndex : 'prodTypeName'}, {header : '类别描述',dataIndex : 'proDesc'} ] ); cm.defaultSortable = true; var pagingBar = new Ext.PagingToolbar ({ store: store, pageSize: pageSize, //显示右下角信息 displayInfo: true, displayMsg: '当前记录 {0} -- {1} 条 共 {2} 条记录', //displayMsg: '显示第【<b><font color=red>{0}</font></b>】条至第【<b><font color=red>{1}</font></b>】条 / 共【<b><font color=red>{2}</font></b>】条记录', emptyMsg: "没有数据显示", prevText: "上一页", nextText: "下一页", refreshText: "刷新", lastText: "最后页", firstText: "第一页", beforePageText: "当前页", afterPageText: "共{0}页" }); var DoQuerry = function () { store.reload({ params: { start: 0, limit: pageSize} }); //reload 参数:start 0 limit pageSize 18 }; //-------------------------------------------------定义列表Grid var grid = new Ext.grid.GridPanel ({ id: "GridPanel", //GridPanelID layout: "fit", //填充整个容器 frame: true, //True表示为面板的边框外框可自定义的,false表示为边框可1px的点线(默认为false)。 border: true, //True表示为显示出面板body元素的边框,false则隐藏(缺省为true),默认下,边框是一套2px宽的内边框,但可在bodyBorder中进一步设置 stripeRows: true, height: document.documentElement.clientHeight , //- 15 autoScroll: true, //自动滚动条 width: Ext.get("grid").getWidth(), //设置grid Ui forceFit 固定列宽 loadMask: { msg: '系统正在查询,请稍候......' }, //指定查询等待语句 store: store, //数据源 sm: sm, //SelectMode 选择模式 cm: cm, //colMode 列模式 viewConfig: { forceFit: true }, header: false, //不显示title renderTo: "grid", tbar: [ //toolbar标签 new Ext.Toolbar.TextItem('类别名称(模糊查询):'), new Ext.form.Field({ width: 100, id: 'lbmc_txt' }), "-", {id: "btnQuerry", //刷新按钮 text: "刷新", iconCls: "refreshicon", handler: DoQuerry } ], bbar: pagingBar, //bottombar listeners: { //grid内的右键事件 全屏蔽 'contextmenu': function (e) { e.stopEvent(); rightClick_Menu.showAt(e.getXY()); }, //表格行上的右键事件,在查询没有的数据的时候不能触发 "rowcontextmenu": function (grid, rowIndex, e) { e.stopEvent(); //判断右键菜单项是否可用 var r = Ext.getCmp("GridPanel").getSelectionModel().getSelections(); if (r.length > 0) { rightClickRow_Menu.items.get('editData_Mn').enable(); rightClickRow_Menu.items.get('deleteData_Mn').enable(); } else { rightClickRow_Menu.items.get('editData_Mn').disable(); rightClickRow_Menu.items.get('deleteData_Mn').disable(); } rightClickRow_Menu.showAt(e.getXY()); }, //行单击事件 "rowclick": function (grid, rowIndex, e) { } } }); json字符串{totalProperty:3,root:[{"proDesc":"测试","prodTypeName":"测试","prodTypeoid":"1"},{"proDesc":"测试","prodTypeName":"测试","prodTypeoid":"2"}]}显示的时候只显示两条记录当前记录 1 -- 2 条 共 2 条记录 什么原因,求解决
解决方案
引用//JsonReader固定格式 reader: new Ext.data.JsonReader( { fields: fields, root: "root", //id: "prodTypeoid", totalPorperty: "totalProperty" -->单词写错 }) 明显你上面的属性写错了 应该是 totalProperty:"totalProperty" 前面的单词写错了
解决方案二:
这样就造成读不到总数 所以....