dojo grid 分页

dojo很强大,也很方便,但是缺少文档,只能看源代码,也挺好的,就是费时间。。。

网上找了一段代码(找不到原出处了,不好意思),也看了dojo自带的demo,放一段可以执行的页面代码这里。把ip换成自己架设的js服务器(esi的CDN貌似有点问题)即可

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5
  6 <title>dojo grid 分页</title>
  7
  8 <link rel="stylesheet" href="http://192.168.30.86/arcgis_js_api/library/3.12/dojo/resources/dojo.css">
  9 <link rel="stylesheet" href="http://192.168.30.86/arcgis_js_api/library/3.12/dijit/themes/claro/claro.css">
 10 <link rel="stylesheet" href="http://192.168.30.86/arcgis_js_api/library/3.12/dijit/themes/claro/document.css">
 11 <link rel="stylesheet" href="http://192.168.30.86/arcgis_js_api/library/3.12/dojox/grid/enhanced/resources/claro/EnhancedGrid.css">
 12 <link rel="stylesheet" href="http://192.168.30.86/arcgis_js_api/library/3.12/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css">
 13
 14 <style>
 15     #gridDiv{
 16     width: 60em;
 17     height: 35em;
 18     border: 1px solid #D5CDB5;
 19 }
 20 </style>
 21 <script src="http://192.168.30.86/arcgis_js_api/library/3.12/init.js"></script>
 22 <script>
 23
 24 require([
 25         "dojo/parser",
 26         "dojox/grid/EnhancedGrid", //表格
 27         "dojo/data/ItemFileWriteStore",//数据
 28         "dojox/grid/enhanced/plugins/DnD", //拖拽
 29         "dojox/grid/enhanced/plugins/Pagination",//分页
 30 "dojox/grid/enhanced/plugins/nestedSorting",//嵌套排序
 31         "dijit/form/Button","dojo/dom","dojo/on","esri/config","esri/lang","dojo/domReady!"
 32     ],
 33     function () {
 34     //获取数据
 35     var data = {
 36         identifier : ‘id‘,
 37         items : []
 38     };
 39     var data_list = [{
 40             col1 : "normal",
 41             col2 : false,
 42             col3 : ‘But are not followed by two hexadecimal‘,
 43             col4 : 29.91
 44         }, {
 45             col1 : "important",
 46             col2 : false,
 47             col3 : ‘Because a % sign always indicates‘,
 48             col4 : 9.33
 49         }, {
 50             col1 : "important",
 51             col2 : false,
 52             col3 : ‘Signs can be selectively‘,
 53             col4 : 19.34
 54         }
 55     ];
 56     var rows = 60;
 57     for (var i = 0, l = data_list.length; i < rows; i++) {
 58         data.items.push(dojo.mixin({
 59                 id : i + 1
 60             }, data_list[i % l]));
 61     }
 62     var store = new dojo.data.ItemFileWriteStore({
 63             data : data
 64         });
 65
 66     dojo.ready(function () {
 67         /*set up layout*/
 68         var layout = [[{
 69                     name : ‘slector‘,
 70                     field : ‘Sel‘,
 71                     editable : true,
 72                     width : ‘20px‘,
 73                     cellStyles : ‘text-decoration: none; cursor:default; text-align: center;position: relative; left: -10px‘,
 74                     headerStyles : ‘text-align: center;‘,
 75                     type : dojox.grid.cells.Bool//选择器
 76                 }, {
 77                     ‘name‘ : ‘Column 1‘,
 78                     ‘field‘ : ‘id‘
 79                 }, {
 80                     ‘name‘ : ‘Column 2‘,
 81                     ‘field‘ : ‘col2‘
 82                 }, {
 83                     ‘name‘ : ‘Column 3‘,
 84                     ‘field‘ : ‘col3‘,
 85                     ‘width‘ : ‘230px‘
 86                 }, {
 87                     ‘name‘ : ‘Column 4‘,
 88                     ‘field‘ : ‘col4‘,
 89                     ‘width‘ : ‘230px‘
 90                 }
 91             ]];
 92         /*create a new grid:*/
 93         var grid = new dojox.grid.EnhancedGrid({
 94                 id : ‘grid‘,
 95                 store : store,
 96                 structure : layout,
 97                 plugins : {
 98                     nestedSorting:true,//嵌套排序
 99                     dnd : false,//数据拖拽
100                     pagination : {//分页
101                         pageSizes :[ "10", "20", "50","100", "ALL"],//最后一个只是标识,不显示的
102                         //[10, 20, 50, Infinity],//或者换这种写法
103                         //description: true,//描述,第1-20个,共60个。默认是true
104                         //sizeSwitch: true,//分页大小切换,默认是true
105                         maxPageStep : 8,
106                         gotoButton : true,//转至第几页,默认为false
107                         defaultPage : 1,
108                         defaultPageSize : 20,
109                         position: "bottom"//有三种方式,top, bottom, both,默认是bottom
110                     },
111                 },
112                 rowSelector : ‘20px‘
113             },
114                 document.createElement(‘div‘));
115         /*append the new grid to the div*/
116         dojo.byId("gridDiv").appendChild(grid.domNode);
117         /*Call startup() to render the grid*/
118         grid.startup();
119     });
120
121 });
122 </script>
123 </head>
124 <body class="claro">
125 <div id="gridDiv">
126 </div>
127 </body>
128 </html>

gird分页

效果如下图

其他的再说吧

时间: 2024-10-06 01:20:29

dojo grid 分页的相关文章

dojo grid

关于dojo grid有几种,我们项目中只用了dojox.grid.EnhancedGrid.一个系统组件最好统一,不要乱用. EnhancedGrid提供一些常用的特性和一些基本的使用方法.我们下面都会讲到. 说到grid务必会需要store的数据支撑.EnhancedGrid常用的store有三种: dojox.data.QueryReadStore  //这个store主要是用于动态的load服务端的数据 dojo.data.ItemFileReadStore //顾名思义,FileRea

ExtJS4.2 Grid 分页栏 搜索

function SearchCondition(){ this.startTime = ""; this.endTime = ""; this.targetInfo = ""; this.logType = ""; this.manager = ""; this.reset = function(){ this.startTime = ""; this.endTime = "

ext:grid分页,列宽度自动填满grid宽度

var cm = new Ext.grid.ColumnModel([{      header : '编号',      dataIndex : 'id'     }, {      header : '名称',      dataIndex : 'name'     }, {      header : '描述',      dataIndex : 'descn'     }]);   var store = new Ext.data.Store({      proxy : new Ext

ExtJs中grid分页加载的问题

最近项目中遇到一个grid分页加载的问题,当按照条件查询数据后,数据数据在grid中分页显示,当点击翻页后grid的中显示第二页数据.此时更换查询条件后再次点击查询时,发现grid的下面分页信息栏中页码并不是1,而是上次翻到的页面. 这是因为以前在点击查询时调用的是store.load()方法,然后再load之前将参数添加进去. 如果想让每次查询时页面从1开始就要使用store的loadPage方法.使用该方法指定每次加载的页码是1 例如 record_store.loadPage(1,{ pa

extjs grid 分页

在使用extjs创建带分页功能的 grid 如下: 1.创建一个模型 // 创建算定义模型 模型名称 User Ext.define('User', { extend: 'Ext.data.Model', fields: ['name', 'email', 'phone', 'birthDate'] // 加载指定的数据字段 }); 2. 创建store 来存储模型,其中 myPageSize 是默认的页面初始大小,设定为 10 // 创建 store var userStore = Ext.c

ExtJs4 SpringMvc3 实现Grid 分页

新建一个Maven webapp项目,webxml以及spring配置没什么需要注意的,不再赘述. Maven依赖:(个人习惯,有用没用的都加上...) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/P

Extjs grid分页多选记忆功能

很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页数据 以下解决方法是在工作中的碰到的.分享给大家共同学习一下. 1.首先定义一个保存选中记录的集合 2.定义选中记录的CheckboxModel 3.定义store(这个请参考) 监听beforeload 及load事件 4.在grid中引用sm

Devexpress for WPF Grid分页

Devexpress for WPF中没有找到分页控件,列表数据太多,不分页肯定是不行的,所以就写了一个. 感觉还不错.这里跟大家分享一下 思路说明:首先创建自定义控件,控制好分页效果等.核心的位置便是分页信息与Grid的交互,这里使用事件委托完成. 分页控件做成这个效果,比较粗糙,后面有时间在更新一下. 界面代码就不上传了. 后台代码给大家看看: public DataPager() { InitializeComponent(); cboPageSize.SelectionChanged +

Dojo Grid结合Ajax用法

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomerDefinedOutputField.aspx.cs" Inherits="SparkBiz.Payroll.CustomerDefinedOutputField" %> <style> @import "../public/prod1.5.37.1/dojo1.