`

dgrid之Grid Pagination 集成分页 后台rest service

    博客分类:
  • js
 
阅读更多

   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);

    }

 

 

0
0
分享到:
评论

相关推荐

    dojo enhancedGrid pagination 分页实现

    在IT领域,Dojo是一个强大的JavaScript工具包,用于构建高性能的Web应用。它提供了一系列的组件,其中...记住,dojo enhancedGrid的强大之处在于其灵活性和可扩展性,充分利用这些特性可以让你的应用更加高效和易用。

    dojo pagination example

    在这个文件中,开发者可能创建了一个Dojo数据网格(`dojox/grid/DataGrid`或`dijit/Tree`),并集成了一个分页插件(如`dojox/grid/pagination`)。分页插件通常包含上一页、下一页、页码选择和每页条目数设置等功能...

    js-table分页

    - `ag-Grid`:另一款功能丰富的表格库,支持分页,并提供多种自定义选项。 - 自定义库:如果你的项目有特定需求,可以创建自己的`js-table`库,这需要深入理解JavaScript和DOM操作。 4. **Java相关知识点**: - ...

    dojodatagrid分页示例代码

    Dojo DataGrid是Dojo Toolkit中的一个组件,它用于展示大量数据,提供了可扩展性和高度定制化,而分页功能则是DataGrid的重要特性之一,用于优化用户体验,使用户能够高效地浏览和管理大量数据。 首先,我们需要...

    Ext中对于多种store数据分页实现示例

    首先,EXT JS提供了两种主要的分页方式:服务器端分页(Server-side pagination)和客户端分页(Client-side pagination)。服务器端分页是在服务器上完成数据的分页计算,而客户端分页则是在用户浏览器中进行。 1....

    dojo的datagrid使用

    同时,我们可以使用`dojox/grid/EnhancedGrid`的插件`dojox/grid/enhanced/plugins/Pagination`来添加分页控制条。这个插件提供了上一页、下一页、跳转到指定页等功能。配置插件时,需要设置`rowsPerPage`属性来指定...

    extjs入门项目+数据库

    在这个项目中,我们可能使用ExtJS的Grid组件展示图书列表,Form组件进行图书信息的录入和编辑,Tree组件展示图书分类,而Pagination和Sorting则用于高效地分页和排序数据。 **Java后端** Java作为后端语言,通常...

    ext js 页面自动刷新教程集合

    2. Server-side filtering/pagination:如果数据量大,考虑在服务器端进行过滤和分页,只向客户端发送有变化的数据或新页,降低网络负载。 四、事件监听 1. 监听load事件:可以通过监听Store的load事件,在每次...

Global site tag (gtag.js) - Google Analytics