后台拿到的json
[['0','张三','0','15246532154'],['1','李四','0','15246532154'],['2','王五','0','15242342154'],['3','李磊','0','15245678987'],['4','卡卡','0','12321313321'],['5','阿斯达','1','12131312322'],['6','斯巴达','1','11231231231'],['7','李欧','1','23343434343']]
前台ext代码:
/**
* 前台分页
*/
Ext.onReady(function() {
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
// 序号
new Ext.grid.RowNumberer(), sm, {
header : '编号',
dataIndex : 'id',
sortable : true,
type : 'int'
}, {
header : '姓名',
dataIndex : 'name'
}, {
header : '性别'
}, {
header : '电话',
dataIndex : 'phone'
}]);
var reader = new Ext.data.ArrayReader({}, [{
name : 'id'
}, {
name : 'name'
}, {
name : 'sex'
}, {
name : 'phone'
}]);
var store = new Ext.data.Store({
reader : reader
});
// 读取后台传递于前台数据
Ext.Ajax.request({
url : '../test/user2.show',
method : 'get',
success : function(response, opts) {
var obj = Ext.decode(response.responseText);// obj储存响应的数据
store.proxy = new Ext.data.PagingMemoryProxy(obj) // PagingMemoryProxy()
// 一次性读取数据
},
failure : function() {
Ext.Msg.alert("读取数据失败");
}
});
// 分页条
var pagebar = new Ext.PagingToolbar({
pageSize : 5,// 每页显示条数
store : store,
beforePageText : "当前第",
afterPageText : "页,共{0}页",
lastText : "尾页",
nextText : "下一页",
prevText : "上一页",
firstText : "首页",
refreshText : "刷新页面",
displayInfo : true,
displayMsg : "当前显示 {0} - {1}条, 共 {2}条",
emptyMsg : "没有记录"
});
var grid = new Ext.grid.GridPanel({
renderTo : 'grid',
autoHeight : true,
store : store,
mode : "remote",
cm : cm,
sm : sm,
loadMask : {
msg : '正在加载数据,请稍侯……'
},
tbar : pagebar
});
store.load({
params : {
start : 0,
limit : 5
}
});// 按5条记录分布
});
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>前台分页</title>
<link rel="stylesheet" type="text/css" href="../js/ext-3.3.1/resources/css/ext-all.css" />
<script type="text/javascript" src="../js/ext-3.3.1/ext-base.js"></script>
<script type="text/javascript" src="../js/ext-3.3.1/ext-all.js"></script>
<script type="text/javascript" src="../js/ext-3.3.1/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="js/PagingMemoryProxy.js"></script>
<script type="text/javascript" src="js/diygrid2.js"></script>
</head>
<body>
<div id="grid" style="height:265px;"></div>
</body>
</html>
页面始终处于加载中,分页数据不显示。求指导。
问题补充:直接将数据写到前台就没问题
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>03.grid</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
<script type="text/javascript" src="PagingMemoryProxy.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var sm = new Ext.grid.CheckboxSelectionModel(
);
var cm = new Ext.grid.ColumnModel([
// 序号
new Ext.grid.RowNumberer(), sm, {
header : '编号',// 列显示的名称
dataIndex : 'id',
sortable : true,// 可排序的
type : 'int'
}, {
header : '姓名',
dataIndex : 'name'
}, {
header : '性别',
dataIndex : 'sex',
renderer : function(value) {
if (value == '0') {
return "<font color='red'>男</span>";
}
else {
return "<font color='red'>女</span>";
}
}
}, {
header : '电话',
dataIndex : 'phone'
}]);
var data =[
['0','张三','0','15246532154'],
['1','李四','0','15246532154'],
['2','王五','0','15242342154'],
['3','李磊','0','15245678987'],
['4','卡卡','0','12321313321'],
['5','阿斯达','1','12131312322'],
['6','斯巴达','1','11231231231'],
['7','李欧','1','23343434343']
]
var store = new Ext.data.Store({
proxy: new Ext.data.PagingMemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [
{
name : 'id'
}, {
name : 'name'
}, {
name : 'sex'
}, {
name : 'phone'
}
])
});
var grid = new Ext.grid.GridPanel({
renderTo: 'grid',
autoHeight: true,
store: store,
cm: cm,
bbar: new Ext.PagingToolbar({
pageSize: 3,
store: store,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
store.load({params:{start:0,limit:3}});
});
</script>
</head>
<body>
<script type="text/javascript" src="../shared/examples.js"></script>
<div id="grid"></div>
</body>
</html>
相关推荐
在ExtJS 3.x版本中,PagingStore是与GridPanel结合使用,使得用户可以逐页加载和浏览数据,而无需一次性加载所有记录,从而减轻服务器压力。 PagingStore的工作原理: 1. **连接数据源**:PagingStore通常与远程...
在前端开发中,分页是常见的一种数据展示方式,它能有效地管理大量数据,提高页面加载速度,并提供良好的用户体验。本篇文章将详细讲解基于Ext JS框架实现前台分页的原理和方法。 首先,理解“前台分页”概念。前台...
它能够动态加载数据,提供排序、过滤、分页等功能,并且可以自定义列样式和行为。在ExtJS4中,我们可能有以下场景:用户在Grid中查看数据,然后希望将这些数据导出到Excel以便进一步分析或处理。 要实现这个功能,...
在EXTJS4中,分页应用是实现大数据量展示时必不可少的功能,它可以有效地提高用户体验,减少页面加载时间。本文将详细介绍EXTJS4中如何实现分页,并结合后台进行数据交互。 前台部分: EXTJS4使用`Ext.data.Store`...
在前端,创建一个ExtJS的Grid,你需要定义列模型、数据源以及可能的分页配置。列模型指定表格的列头及对应的数据字段,数据源可以是内存中的数组,也可以是远程加载的数据,这里采用后者,通过Servlet获取。分页配置...
为了提高性能,需要对这些操作进行适当的优化,例如通过分页机制减少数据加载量,使用异步加载技术来提高响应速度等。 #### 九、提示信息的使用 提示信息是与用户交互的重要方式之一,合理的使用可以提高用户体验...
在实际项目中,当数据量较大时,直接加载所有数据到前端可能会导致页面加载时间过长甚至崩溃,因此需要实现后台分页功能。后台分页的核心在于服务器端只返回当前页的数据,前端负责显示这部分数据并提供翻页功能。在...
9.2.4 实现前台分页效果 9.3 可编辑表格控件——EditorGrid 9.3.1 制作第一个EditorGrid 9.3.2 添加一行数据 9.3.3 保存修改结果 9.3.4 验证EditGrid中的数据 9.3.5 限制输入数据的类型 9.4 PropertyGrid属性...
11.实现右键菜单的功能,自定义一个按钮 12.文章预览功能、修改文章功能 13.查看文章评审(重写分页组件的部分方法) 14.完善分页组件、查看文章评审后台功能 15.由菜单树操作右边的工作区域、完成管理员管理文章...
3.11.2 添加一行数据 56 3.11.3 保存修改结果 58 3.11.4 验证EditGrid中的数据 59 3.11.5 限制输入数据的类型 60 3.12 属性表格控件--PropertyGrid 63 3.12.1 PropertyGrid 64 3.12.2 只能看不能动的Property...
在描述中提到,这个源码是从实际项目中剥离出来的,因此,你可以期待它包含了一些实际应用场景下的实现,比如数据加载、分页、过滤、排序等功能。说明文档应该会解释这些功能的实现细节,帮助你理解和学习如何在自己...
9.2.4 实现前台分页效果 9.3 可编辑表格控件——EditorGrid 9.3.1 制作第一个EditorGrid 9.3.2 添加一行数据 9.3.3 保存修改结果 9.3.4 验证EditGrid中的数据 9.3.5 限制输入数据的类型 9.4 PropertyGrid属性...
其数据绑定机制使得前后端数据交换更为便捷,通过Store与Model的配合,可以实现数据的自动加载、更新和保存。同时,Ext的Ext Grid组件能够灵活地展示大量数据,支持分页、排序、过滤等功能,极大地提升了用户体验。 ...
jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。 ...
-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...
2.8.2. 添加一行,再把它踢掉 2.8.3. 一切就绪,你可以按保存按钮了。 2.8.4. 天马行空,保证提交的数据绝对有效 2.8.5. 限制类型,让用户只能选择我们提供的数据 2.9. 连坐法,关于选择模型 2.10. 2.0有,1.x里没有...
-修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的...