`

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics