用Extjs实现分页自动加载数据的Ajax实现
2008-09-03 10:19
585 查看
用Extjs实现分页自动加载数据的Ajax实现
2008-04-23 19:20
2008-04-23 19:20
需要用到的外部js文件为prototype.js,和extjs官方的ext-base.js,ext-all.js,ext-lang-zh_CN.js和resources整个文件夹。所有文件都放在同一个目录下。 ---------------------- array-grid-page.html ---------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>Array Grid Example</title> <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" /> <script type="text/javascript" src="ext-base.js"></script> <script type="text/javascript" src="ext-all.js"></script> <script type="text/javascript" src="ext-lang-zh_CN.js"></script> <script type="text/javascript" src="array-grid-page.js"></script> <script type="text/javascript" src="prototype.js"></script> </head> <body onload="init()"> <h1> page Grid Example </h1> <div id="grid3"></div> <script type="text/javascript"> var TimeoutHandler = null; function init() { if(isReady) { try { //Ajax.sendGetRequest("data.jsp",true,"callbackAjax(ME.http_request.responseText)"); var myAjax = new Ajax.Request("data.jsp", { method: 'get', onComplete: callbackAjax }); } catch(e) { alert(e); } seturl(); } else { setTimeout ("init()", 1000); } } function callbackAjax(rep) { //responseText = req.responseText; } function seturl() { clearTimeout(TimeoutHandler); ds.load(); TimeoutHandler = setTimeout ("seturl()", 1000); } </script> </body> </html> ---------------------- array-grid-page.js ---------------------- var sm = null; var cm = null; var ds = null; var grid = null; var data = null; var isReady = false; function renderSex(value) { if (value == '男') { return "<span style='color:red;font-weight:bold;'>男</span>"; } else { return "<span style='color:green;font-weight:bold;'>女</span>"; } } Ext.onReady(function(){ sm = new Ext.grid.CheckboxSelectionModel(); cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), sm, {header:'编号',dataIndex:'id',width: 100}, {header:'性别',dataIndex:'sex',width: 100,renderer:renderSex}, {header:'名称',dataIndex:'name',width: 140}, {header:'描述',dataIndex:'descn',width: 190} ]); cm.defaultSortable = true; ds = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'data.jsp'}), reader: new Ext.data.JsonReader({ root: 'root' }, [ {name: 'id'}, {name: 'sex'}, {name: 'name'}, {name: 'descn'} ]) }); ds.load(); grid = new Ext.grid.GridPanel({ el: 'grid3', ds: ds, cm: cm, stripeRows: true, sm: sm, title: 'JSP->JSON', tbar: new Ext.PagingToolbar({ pageSize: 10, store: ds, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" }), bbar: new Ext.PagingToolbar({ pageSize: 10, store: ds, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" }), height:500, autoWidth: true, width:600 //autoHeight: true, //没有设置高度的时候一定要设置autoHeight: true,否则数据显示不出来 //autoWidth: true, }); grid.render(); grid.getSelectionModel().selectFirstRow(); isReady = true; }) -------------------- data.jsp -------------------- <%@ page contentType="text/xml; charset=gbk" language="java" errorPage="" %> <%@ page language="java" import="java.io.PrintWriter"%> <% response.setHeader("Cache-Control", "no-cache"); response.setCharacterEncoding("gbk"); PrintWriter xmlout = response.getWriter(); int start = 0; int limit = 20; StringBuffer sb = new StringBuffer(); sb.append("{root:["); for (int i=start;i<limit;i++) { sb.append("{'id':'"); sb.append(i); sb.append("','sex':'"); if(Math.floor(Math.random() * 100)>50){ sb.append("男"); } else { sb.append("女"); } sb.append("','name':'姓名 "); sb.append(Math.floor(Math.random() * 100)); sb.append("','descn':'描述 "); sb.append(Math.floor(Math.random() * 100)); sb.append("'}"); if(i!=limit-1) { sb.append(","); } else { sb.append("]}"); } } String rs = sb.toString(); System.out.println(rs); try { xmlout.write(rs); } catch (Exception e) { e.printStackTrace(); } finally { xmlout.flush(); xmlout.close(); } %> |
相关文章推荐
- Android实现ListView分页自动加载数据的方法
- ajax实现鼠标拖动到底部自动加载新的数据的实例
- ExtJS中FormPanel实现数据加载和提交 - EXT - AJAX - JavaEye论坛
- mui上拉加载通过ajax获取数据,实现分页
- 使用ajax、pageHelpler分页插件、利用json数据特性实现分页查询
- ajax实现加载数据功能
- Ajax实现从数据库读取数据后,实现分页
- listview实现分页加载数据的注意点
- jquery实现页面滚动到最下方自动按分页的形式加载内容效果
- 只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
- jquery实现搜索框自动补全功能,类似google搜索引擎,数据是用Ajax从后台获得
- Echarts通过Ajax实现动态数据加载
- Slider 滚动条 Pagination分页插件 JS Ajax 数据范围筛选 加载 翻页 笔记
- 实现ListView分页加载数据第二篇
- AngularJS:实现页面滚动到底自动加载数据的功能
- WP8_当滚动到滚动条的70%时,自动加载数据效果实现
- AJAX和jQuery动态加载数据的实现方法
- 【原创】ExtJs实现定时读取数据,动态加载数据,页面不刷新。Struts 2框架下JSON传值
- ASP.NET + EXTJS 实现类似GridView行内编辑、Pannel、分页、增删改查、数据验证,格式转换