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 相关文章推荐
第十一节--重载
Nov 16 PHP
php遍历数组的方法分享
Mar 22 PHP
php array的学习笔记
May 10 PHP
php数组中删除元素的实现代码
Jun 22 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
通过php动态传数据到highcharts
Apr 05 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 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 分页分组类
2009/12/10 PHP
php中取得文件的后缀名?
2012/02/20 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
Ajax基础知识详解
2017/02/17 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
24式加速你的Python(小结)
2019/06/13 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
使用python实现飞机大战游戏
2020/03/23 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
我们的节日清明节活动总结
2014/04/30 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
公司介绍信范文
2015/01/31 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
python中的None与NULL用法说明
2021/05/25 Python