This is a migrated thread and some comments may be shown as answers.

[Solved] Grid serverpaging

3 Answers 465 Views
Grid
This is a migrated thread and some comments may be shown as answers.
zain
Top achievements
Rank 1
zain asked on 31 Dec 2014, 11:35 AM
I done serverpaging, how can I get the parameters on the call of url?

i am using spring framework, everytime the page and pagesize are null.


@RequestMapping(value = "/list", method = RequestMethod.POST, produces = "application/json; charset=UTF-8")
    @ResponseBody
    public String listJSON(@RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
        Iterator<Obj> iterator;
        if (page != null && pageSize != null) {
            PageRequest pageReq = new PageRequest(page, pageSize);
            iterator = repo.findAll(pageReq).iterator();
        } else {
            PageRequest pageReq = new PageRequest(0, 5);
            iterator = repo.findAll(pageReq).iterator();
        }

<kendo:grid name="grid" selectable="single" pageable="true" groupable="true" sortable="true" filterable="true">
                        <kendo:grid-columns>
                            <kendo:grid-column title="Name" field="name" />
                            <kendo:grid-column title="Quantity" field="quantity" />
                            <kendo:grid-column title="Dimensions" field="dimensions" />
                        </kendo:grid-columns>
                        <kendo:dataSource pageSize="5" serverPaging="true">
                            <kendo:dataSource-schema data="assets" total="total">
                                <kendo:dataSource-schema-model>
                                    <kendo:dataSource-schema-model-fields>
                                        <kendo:dataSource-schema-model-field name="name" type="string" />
                                        <kendo:dataSource-schema-model-field name="quantity" type="number" />
                                        <kendo:dataSource-schema-model-field name="dimensions" type="number" />
                                    </kendo:dataSource-schema-model-fields>
                                </kendo:dataSource-schema-model>
                            </kendo:dataSource-schema>
                            <kendo:dataSource-transport>
                                <kendo:dataSource-transport-read  contentType="application/json" type="POST" url="${transportReadUrl}"/>
                            </kendo:dataSource-transport>
                        </kendo:dataSource>
                    </kendo:grid>

3 Answers, 1 is accepted

Sort by
0
zain
Top achievements
Rank 1
answered on 31 Dec 2014, 12:48 PM

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DataSourceRequest {

    private int page;
    private int pageSize;
    private int take;
    private int skip;
    private HashMap<String, Object> data;
   

    public DataSourceRequest() {
        data = new HashMap<String, Object>();
    }

    public HashMap<String, Object> getData() {
        return data;
    }



    public int getPage() {
        return page;
    }

    public int getPageSize() {
        return pageSize;
    }

    public int getTake() {
        return take;
    }

    public int getSkip() {
        return skip;
    }
}



I use this in my controller

 @RequestMapping(value = "/list", method = RequestMethod.POST, produces = "application/json; charset=UTF-8")
    @ResponseBody
    //public String listAssetsJSON(@RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
      public String listAssetsJSON(@RequestBody DataSourceRequest request) throws Exception
      {
        // get the records
          
        System.out.println("ttttt "+request.getPage()+" "+request.getPageSize());


I still get 0  0

<%@taglib prefix="kendo" uri="http://www.kendoui.com/jsp/tags"%>
<%@taglib prefix="demo" tagdir="/WEB-INF/tags"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <%@include file="jspf/meta.jspf" %>

        <!-- title -->
        <title><spring:message code='APPNAME' text='STC' /> - <spring:message code='ASSETS' text='Assets' /></title>

        <!-- kendo ui styles -->
        <link rel="stylesheet" type="text/css" href="<spring:url value='/assets/kendoui/styles/kendo.common.min.css'/>">
            <link rel="stylesheet" type="text/css" href="<spring:url value='/assets/kendoui/styles/kendo.material.min.css'/>">

                <!-- kendo ui scripts -->   
                <script type="text/javascript" src="<spring:url value='/assets/sm/js/jquery.js'/>"></script>
                <script type="text/javascript" src="<spring:url value='/assets/kendoui/js/kendo.all.min.js'/>"></script>
                </head>

                <body>
                    <spring:url value="/secure/assets/list" var="transportReadUrl" />

                    <kendo:grid name="grid" selectable="single" pageable="true" groupable="true" sortable="true" filterable="true">
                        <kendo:grid-columns>
                            <kendo:grid-column title="Name" field="name" />
                            <kendo:grid-column title="Quantity" field="quantity" />
                            <kendo:grid-column title="Dimensions" field="dimensions" />
                        </kendo:grid-columns>
                        <kendo:dataSource pageSize="5" serverPaging="true">
                            <kendo:dataSource-schema data="assets" total="total">
                                <kendo:dataSource-schema-model>
                                    <kendo:dataSource-schema-model-fields>
                                        <kendo:dataSource-schema-model-field name="name" type="string" />
                                        <kendo:dataSource-schema-model-field name="quantity" type="number" />
                                        <kendo:dataSource-schema-model-field name="dimensions" type="number" />
                                    </kendo:dataSource-schema-model-fields>
                                </kendo:dataSource-schema-model>
                            </kendo:dataSource-schema>
                            <kendo:dataSource-transport>
                                <kendo:dataSource-transport-read  contentType="application/json" type="POST" url="${transportReadUrl}"/>
                            </kendo:dataSource-transport>
                        </kendo:dataSource>
                    </kendo:grid>
                </body>
                </html>
0
zain
Top achievements
Rank 1
answered on 31 Dec 2014, 12:58 PM
on stackoverflow my same question http://stackoverflow.com/questions/27721447/kendo-ui-server-paging-using-spring-framework


i actually get null and not 0 0
0
Petyo
Telerik team
answered on 02 Jan 2015, 09:15 AM
Hi,

please check the following runnable Java integration example - it also covers server paging of the grid widget.

Regards,
Petyo
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
Tags
Grid
Asked by
zain
Top achievements
Rank 1
Answers by
zain
Top achievements
Rank 1
Petyo
Telerik team
Share this question
or