js是这样的//页面数据数量
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 条记录
什么原因,求解决
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 条记录
什么原因,求解决
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货