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 批量删除 sql语句
Jun 05 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
Jun 05 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
php对文件进行hash运算的方法
Apr 03 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 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+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python采集百度百科的方法
2015/06/05 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
Python3.4解释器用法简单示例
2019/03/22 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
python实现猜拳游戏
2020/03/04 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python中的流程控制详解
2021/02/18 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
竞选劳动委员演讲稿
2014/04/28 职场文书
保安辞职信范文
2015/02/28 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
选购到合适的激光打印机
2022/04/21 数码科技