【问题标题】:How to control the Kendo Grid?如何控制剑道网格?
【发布时间】:2014-10-29 20:35:31
【问题描述】:

如何控制剑道网格中出现的行数?房地产是有限的,所以我需要在一个非常紧凑的空间里有很多信息。我正在尝试将网格中的所有内容打包在 300 像素高的区域中。

我遇到的问题是,从我的控制器中的 MVC JsonResult 返回的所有 200 多行数据都同时显示在一个页面上。不完全是我想要的。

代码如下,如果对剑道网格格式有更多了解的人可以提供帮助,我将不胜感激。

谢谢!

-RC

{}

        var RemoteJsonData_Call = new kendo.data.DataSource({
            transport:
            {
                read: {
                    type: "GET",
                    dataType: "json",
                    url: resourceURL_Call
                },
                pageSizes: 8,
                serverPaging: true
            },

            schema: {
                model: {
                    ScheduleData: {
                        extensionDataField: {
                            fields: {
                                ScheduleDate: { type: "date" },
                                ScheduleAmount: { type: "number" },
                                SchedulePrice: { type: "number" },
                                ScheduleNotes: { type: "string" }
                            }
                        }
                    }
                }
            }
        })

        $('#callSched').kendoGrid({
            height: '300',
            sortable: true,
            reorderable: true,
            resizable: true,
            pageable: {
                numeric: true,
                refresh: true,
                pageSizes: true,
                previousNext: true,
                input: true,
                info: true
            },
            columns: [
               {
                   field: "ScheduleDate",
                   title: "Date",
                   template: "#= kendo.toString(kendo.parseDate(ScheduleDate, 'MM-dd-yyyy'), 'MM-dd-yyyy') #"
               },
                {
                    field: "ScheduleAmount",
                    title: "Amount",
                },
                {
                    field: "SchedulePrice",
                    title: "Price"
                },
                {
                    field: "ScheduleNotes",
                    title: "Notes"
                }
            ], dataSource: RemoteJsonData_Call
        });

{}

【问题讨论】:

  • 其他人可能知道如何通过剑道做到这一点。我们只是查看了渲染输出并找到了主标签并手动使用 css 调整了大小。不漂亮,但效果很好
  • 问题不在于 size。 I 初始响应显示响应中的每一行。当我单击 chrome 中的分页控件时,一切都按预期运行并在分配的容器内稳定下来 - 但是当控件首次呈现时,有数据行溢出容器外部,在其他控件后面,到数据的末尾.它很奇怪。

标签: asp.net-mvc-4 kendo-ui kendo-grid


【解决方案1】:

问题是你已经定义了分页是在服务器中完成的,而实际上它不是。你应该说:

serverPaging: false

或者什么都没有,因为默认值为false

有了这个,您应该有一个网格,其像素数在height 选项中指定(在您的示例中为 300 像素)。您示例中的其他选项是正确的。

【讨论】:

    【解决方案2】:

    您在此处错误地设置了服务器分页和页面大小:

        var RemoteJsonData_Call = new kendo.data.DataSource({
            transport:
            {
                read: {
                    type: "GET",
                    dataType: "json",
                    url: resourceURL_Call
                },
                pageSizes: 8,
                serverPaging: true
            },
    

    应该是:

        var RemoteJsonData_Call = new kendo.data.DataSource({
            transport:
            {
                read: {
                    type: "GET",
                    dataType: "json",
                    url: resourceURL_Call
                }
            },
            pageSize: 8,
            serverPaging: true
    

    配置选项放错了地方,“pageSizes”拼写错误,应该是“pageSize”,后面没有“s”。

    http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-pageSize

    【讨论】:

    • 我希望我可以在这里标记两个答案... OnaBai 和 CodingWithSpike 都有部分内容:OnaBai 建议我删除 serverPaging 声明,而 CodingWithSpike 向我表明我把所有东西都放在了错误的地方。谢谢,伙计们!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多