社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Jquery

带有自定义分页和动态列的kendo网格(jquery)

Kokirala Sudheer • 5 年前 • 256 次点击  

我的kendo网格显示动态列,还需要自定义分页,因为总记录数非常大。

我能够成功地实现自定义分页部分,但是动态列的功能不起作用。

我的场景是,根据响应数据,我将以字符串数组的形式生成列名,并将其作为操作方法响应的一部分发送。

我可以看到,columns我可以将它发送到网格,但是在调用响应后它不考虑columns列表。

我的代码是

        var content = createkendoDataSource(APIRequest);

        $("#grid").kendoGrid({
            dataSource: content,
            horizontalScrolling: true,
            verticalScrolling: true,
            scrollable: true,
            pageable: {
                messages: {
                    empty: "No search results found."
                },
                input: false,
                numeric: true,
                previousNext: true,
                butonCount: 5,
                pageSize: 10,
                alwaysVisible: true,
                pageSizes: [10, 25, 50, 100]
            },
            columns: content.totalColumns
        });

创建如下数据源…

function createkendoDataSource(APIRequest) {
        var dataSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: "/api/Search/Search",
                    contentType: "application/json; charset=utf-8",
                    type: "POST",
                    data: arfAPIRequest,
                    dataType: "json",
                    cache: false
                },
                parameterMap: function (options) {
                    APIRequest.pageSize = options.pageSize;
                    APIRequest.page = options.page;
                    var request = JSON.stringify(APIRequest);
                    return request;
                }
            },
            serverPaging: true,
            pageSize: 10,
            schema: {
                data: "results.results",
                total: "total", // total is returned in the "total" field of the response,
                parse: function (response) {
                    totalColumns = generateColumns(response.columns);
                    return response;
                }
            }
        });

        return dataSource;
    }

我将动态列列表放到数据源的“parse”块中的“totalColumns”变量中。我是网格没有从响应中获取列列表。

这种期望有可能吗??如果这就是我在这里缺少的?

提前谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46571
 
256 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Kokirala Sudheer
Reply   •   1 楼
Kokirala Sudheer    6 年前
var content = createkendoDataSource(sr, APIRequest);

                var configuration = {
                    dataSource: content,
                    scrollable: false,
                    pageable: {
                        input: false,
                        numeric: true,
                        butonCount: 5,
                        pageSize: 10,
                        alwaysVisible: true,
                        previousNext: true
                    },
                    columns:sr.columns,
                    serverPaging: true
                };

                var grid = $("#gridSamples").kendoGrid(configuration).data("kendoGrid");
                grid.setOptions({ columns: columns });

                grid.bind("page", pageChange);
                grid.dataSource.page(page);    

function createkendoDataSource(res, APIRequest) {
        var dataSource = new kendo.data.DataSource({
            serverPaging: true,
            transport: {
                read: function (options) {
                    options.success(res);
                }
            },
            pageSize: 10,
            schema: {
                model: res,
                data: "results.results",
                total: "totalRecords"
            }
        });
    return dataSource;
}