dgrid之Grid集成分页 后台rest service
前台代码 <script type="text/javascript"> define.amd.jQuery = true; require([ "jquery", "dstore/Rest", "dstore/Cache", "dstore/Trackable", "dojo/_base/lang", 'dgrid/extensions/Pagination', "dgrid/Grid", "dojo/dom-construct", "dojo/dom-class", "dojo/on", "dstore/RequestMemory", 'dojo/_base/declare', "dojo/request", "dijit/form/Button", "dojo/io-query", "dojo/parser", "dojo/domReady!" ], function(jquery, Rest, Cache, Trackable, lang, Pagination, Grid, domConstruct, domClass, on, RequestMemory, declare, request, Button, ioQuery){ function createStore(config){ testStore = new declare([ Rest, Cache, Trackable ])(lang.mixin({ target:"listjson.do" }, config)); } createStore(); getColumns2 = function(){ return [ { label: 'No.', field: 'id', formatter: function (value,obj) { return '<span style="color:#0078C1" />'+value+'</span>'; }}, { label: ' Name', field: 'name'}, { label: 'Gender', field: 'gender'}, { label: 'Age', field: 'age'}, { label: 'type', field: 'type' ]; }; var CustomGrid = declare([Grid, Pagination]); var dgrid = new CustomGrid({ className: "dgrid-autoheight", collection: testStore, columns: getColumns2(), pagingLinks: true, pagingTextBox:false, firstLastArrows: false, previousNextArrows: false, showLoadingMessage: true, rowsPerPage: 7 }, "dgrid"); }); </script> <div style="padding:17px 17px; width:1024px;" > <div id="dgrid" ></div> </div> 后台代码 @RequestMapping(method = RequestMethod.GET, value = "listjson") public @ResponseBody HttpEntity listjson(HttpServletRequest request) { Enumeration<String> names=request.getParameterNames(); String limit = null; while(names.hasMoreElements()){ String name = names.nextElement(); if(name.startsWith("limit")){ limit = name; } } String limitNum = limit.substring(6, limit.length()-1); int offset = 0; int pageSize = 0; if(limitNum.contains(",")){ String[] pageinfo = limitNum.split(","); pageSize = Integer.parseInt(pageinfo[0]); offset = Integer.parseInt(pageinfo[1]); }else{ pageSize = Integer.parseInt(limitNum); } int total = count(); int start = offset/pageSize +1; int page = offset/pageSize + 1 ; List list = getList(pageSize, page); HttpHeaders headers = new HttpHeaders(); headers.add( "Content-Range" , "items "+start+"-"+offset+"/"+total); return new HttpEntity<List<User>>(list,headers); }
相关推荐
在IT领域,Dojo是一个强大的JavaScript工具包,用于构建高性能的Web应用。它提供了一系列的组件,其中...记住,dojo enhancedGrid的强大之处在于其灵活性和可扩展性,充分利用这些特性可以让你的应用更加高效和易用。
在这个文件中,开发者可能创建了一个Dojo数据网格(`dojox/grid/DataGrid`或`dijit/Tree`),并集成了一个分页插件(如`dojox/grid/pagination`)。分页插件通常包含上一页、下一页、页码选择和每页条目数设置等功能...
- `ag-Grid`:另一款功能丰富的表格库,支持分页,并提供多种自定义选项。 - 自定义库:如果你的项目有特定需求,可以创建自己的`js-table`库,这需要深入理解JavaScript和DOM操作。 4. **Java相关知识点**: - ...
Dojo DataGrid是Dojo Toolkit中的一个组件,它用于展示大量数据,提供了可扩展性和高度定制化,而分页功能则是DataGrid的重要特性之一,用于优化用户体验,使用户能够高效地浏览和管理大量数据。 首先,我们需要...
首先,EXT JS提供了两种主要的分页方式:服务器端分页(Server-side pagination)和客户端分页(Client-side pagination)。服务器端分页是在服务器上完成数据的分页计算,而客户端分页则是在用户浏览器中进行。 1....
同时,我们可以使用`dojox/grid/EnhancedGrid`的插件`dojox/grid/enhanced/plugins/Pagination`来添加分页控制条。这个插件提供了上一页、下一页、跳转到指定页等功能。配置插件时,需要设置`rowsPerPage`属性来指定...
在这个项目中,我们可能使用ExtJS的Grid组件展示图书列表,Form组件进行图书信息的录入和编辑,Tree组件展示图书分类,而Pagination和Sorting则用于高效地分页和排序数据。 **Java后端** Java作为后端语言,通常...
2. Server-side filtering/pagination:如果数据量大,考虑在服务器端进行过滤和分页,只向客户端发送有变化的数据或新页,降低网络负载。 四、事件监听 1. 监听load事件:可以通过监听Store的load事件,在每次...