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公用函数列表[正则]
Feb 22 PHP
php制作动态随机验证码
Feb 12 PHP
php获取从html表单传递数组的方法
Mar 20 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
yii2 页面底部加载css和js的技巧
Apr 21 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
Yii2中SqlDataProvider用法示例
Sep 22 PHP
laravel自定义分页效果
Jul 23 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
Nov 24 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 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
加强版phplib的DB类
2008/03/31 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
js实现继承的5种方式
2015/12/01 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
Vue三种常用传值示例(父传子、子传父、非父子)
2018/07/24 Javascript
小程序实现多列选择器
2019/02/15 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
使用Python的判断语句模拟三目运算
2015/04/24 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
python如何发布自已pip项目的方法步骤
2018/10/09 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
python 搜索大文件的实例代码
2019/07/08 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
介绍一下Transact-SQL中SPACE函数的用法
2015/09/01 面试题
创伤外科专业推荐信范文
2013/11/19 职场文书
建筑行业的大学生自我评价
2013/12/08 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
岗位说明书怎么写
2014/07/30 职场文书
自主招生英文自荐信
2015/03/25 职场文书
办公经费申请报告
2015/05/15 职场文书
Python 内置函数速查表一览
2021/06/02 Python
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript