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 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
实用函数2
Nov 08 PHP
PHP中redis的用法深入解析
Feb 20 PHP
php cli换行示例
Apr 22 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
js数组操作常用方法
2014/05/08 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
Python脚本实现格式化css文件
2015/04/08 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python类的继承实例详解
2017/03/30 Python
python try except 捕获所有异常的实例
2018/10/18 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
HTTP状态码详解
2021/03/18 杂记
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
中海讯通笔试题
2015/09/15 面试题
工程监理应届生求职信
2013/11/09 职场文书
采购员岗位职责
2013/11/15 职场文书
新郎父亲婚宴答谢词
2014/01/11 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
美术社团活动总结
2014/06/27 职场文书
学习心理学的体会
2014/11/07 职场文书
行政助理岗位职责
2015/02/10 职场文书
高中教师个人总结
2015/02/10 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
食品卫生管理制度
2015/08/06 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
德生BCL3000抢先使用感受和评价
2022/04/07 无线电