Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码


Posted in PHP onApril 07, 2010

1 建立get.php
get.php=>

<?php 
$data=array( 
array(1,"yixing",123), 
array(2,"chenlin",13), 
array(3,"lixin",123), 
array(4,"liumei",344), 
array(5,"qiuye",343), 
array(6,"zhangli",231), 
array(7,"chenggong",1234), 
array(9,"linmei",123), 
array(10,"gaoxin",234), 
array(11,"ximi",1234), 
array(12,"suoming",1234) 
); 
echo json_encode($data); 
?>

2 在下载的extjs中搜索到PagingMemoryProxy.js,与get.php放在一个文件夹中
3 建立文件grid.html
grid.html=>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gbk"> 
<script type="text/javascript" src="PagingMemoryProxy.js"></script> 
<script type="text/javascript"> 
Ext.onReady(function() { 
store=new Ext.data.Store({ 
reader:new Ext.data.ArrayReader({},[ //读数组到一个元数据对象 
{name:'id'}, 
{name:'name'}, 
{name:'password'} 
]) 
}); 
Ext.Ajax.request({ //读取后台传递于前台数据 
url: 'get.php', 
method:'get', 
success:function(response, opts){ 
var obj= Ext.decode(response.responseText);//obj储存响应的数据 
store.proxy = new Ext.data.PagingMemoryProxy(obj),//PagingMemoryProxy() 一次性读取数据 
store.load({params:{start:0,limit:5}});//按5条记录分布 
}, 
failure: function(){Ext.Msg.alert("failure");} 
}); 
var grid=new Ext.grid.GridPanel({ 
store:store,//装载store 
mode:'remote', 
width:450, 
height:200, 
applyTo:'grid', 
frame:true, 
columns:[ 
{header:"number",width:50,dataIndex:'id',sortable:true}, 
{header:"name",width:80,dataIndex:'name',sortable:true}, 
{header:"password",width:80,dataIndex:'password',sortable:true} 
], 
tbar:new Ext.PagingToolbar({//工具栏 
pageSize:5, 
store:store, 
displayInfo:true, 
displayMsg:'From {0} To {1} records,all records are {2} ', 
emptyMsg:"no records" 
}), 
viewConfig:{ 
forceFit:true 
} 
}) 
}); 
</script> 
</head> 
<body> 
<div id="grid"></div> 
</body> 
</html>

4 建立文件r01.js
r01.js=>
Ext.onReady(function() { 
Ext.QuickTips.init(); 
var root=new Ext.tree.TreeNode({ 
text:'简单树形', 
expanded:true 
}) 
var user=(new Ext.tree.TreeNode({ 
text:'用户', 
expanded:true 
}) 
) 
var user1=new Ext.tree.TreeNode({ 
text:'用户1' 
}) 
var user2=new Ext.tree.TreeNode({ 
text:'用户2', 
}) 
root.appendChild(user); 
user.appendChild(user1); 
user.appendChild(user2); 
//建立根节点 
var tree=new Ext.tree.TreePanel({ 
width:180, 
height:300, 
root:root 
}) 
//中间区域 
var tabPanel = new Ext.TabPanel({ 
region : 'center', 
enableTabScroll : true, 
activeTab :0, 
margins:'5 5 5 5', 
items : [{ 
id : 'homePage', 
title : '首页', 
autoScroll : true, 
html:'<div style="position:absolute;top:40%;left:40%>欢迎来到首页!</div>' 
}] 
}); 
function treeClick(){ 
tabPanel.add({ 
title:'用户', 
id:'1', 
activeTab:1, 
closable:true, 
autoLoad:{ 
url:'grid.html', 
scripts:true 
} 
}) 
} 
user1.on("click",treeClick); 
//界面显示 
new Ext.Viewport({ 
title:'Ext.Viewport示例', 
layout:'border', 
items:[ 
{ 
region:'west', 
layout:'fit', 
width:200, 
collapsible:true, 
margins:'5 0 5 5', 
items:tree 
},{ 
region:'center', 
width:200, 
layout:'fit', 
margins:'5 0 5 5', 
items:tabPanel 
}] 
}) 
});

5 建立r01.php
r01.php=>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gbk"> 
<title>Insert title here</title> 
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/ext/resources/css/ext-all.css" /> 
<script type="text/javascript" src="http://www.cnblogs.com/ext/adapter/ext/ext-base.js"></script> 
<script type="text/javascript" src="http://www.cnblogs.com/ext/ext-all.js"></script> 
<script type="text/javascript" src="r01.js"></script> 
</head> 
<body> 
</body> 
</html>

6 浏览器中输入http://localhost/register_01/r01/r01.php

Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码 

Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
7 总结
树形监听事件:tree.on
Ext.data.ArrayReader读取数组到一个元数据对象

function(response, opts){ 
var obj= Ext.decode(response.responseText);//obj储存响应的数据 
store.proxy = new Ext.data.PagingMemoryProxy(obj),//PagingMemoryProxy()一次性读取数据 
store.load({params:{start:0,limit:5}});//按5条记录分布 
}//分页基本应用

Ext.PagingToolbar基本应用
extjs相关帮助文档:http://www.extjs.com/deploy/dev/docs/
PHP 相关文章推荐
PHP VS ASP
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
PHP令牌 Token改进版
Jul 18 PHP
flash用php连接数据库的代码
Apr 21 PHP
php中随机显示图片的函数代码
Jun 23 PHP
php自定义hash函数实例
May 05 PHP
PHP实现事件机制的方法
Jul 10 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
PHP+MySQL实现的简单投票系统实例
Feb 24 PHP
php表单处理操作
Nov 16 PHP
解决Laravel5.5下的toArray问题
Oct 15 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 #PHP
php session和cookie使用说明
Apr 07 #PHP
DedeCMS dede_channeltype表字段注释
Apr 07 #PHP
php抓取https的内容的代码
Apr 06 #PHP
php中几种常见安全设置详解
Apr 06 #PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 #PHP
php下关于中英数字混排的字符串分割问题
Apr 06 #PHP
You might like
mysql+php分页类(已测)
2008/03/31 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
python数组过滤实现方法
2015/07/27 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python内存管理机制原理详解
2019/08/12 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
python中property和setter装饰器用法
2019/12/19 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
学校消防安全制度
2014/01/30 职场文书
文科生自我鉴定
2014/02/15 职场文书
个人函授自我鉴定
2014/03/25 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
教师节主持词开场白
2015/05/29 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
浅谈怎么给Python添加类型标注
2021/06/08 Python