kendo UI如何将xml数据源绑定到KendoGrid

时间:2015-09-22 14:26:31

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

我正在尝试将XML数据源绑定到KendoGrid。但是网格没有显示任何数据。

以下是代码

        var dataSource = new kendo.data.DataSource({
        data: '<books><book id="1"><title>Secrets of the JavaScript Ninja</title></book></books>',
        schema: {
            // specify the the schema is XML
            type: "xml",
            // the XML element which represents a single data record
            data: "/books/book",
            // define the model - the object which will represent a single data record
            model: {
                // configure the fields of the object
                fields: {
                    // the "title" field is mapped to the text of the "title" XML element
                    title: "title/text()"
                }
            },
            schema: {
                model: {
                fields: {
                    Title: { editable: false, nullable: true }

                }
            }
            }
        }
    });


   // alert(errorDataSource.read());
    var pc = $("#gridError").kendoGrid({
        //excel: { fileName: "Client Orders.xlsx", filterable: true },
        dataSource: dataSource,
        scrollable: true,
        pageable: true,
        navigatable: true,
        columns: [
            { command: "destroy", width: 100 },
            {
                title: "Error Message",
                //lock: true,
                columns: [
                    { field: "Title", title: "Error", width: 600, headerAttributes: { class: "k-header-wrap" } }
                ],
            }
        ]
    });
你能帮忙吗?

理想情况下,我想立即显示基于e.XMLHttpRequest.responseText的错误消息;

有没有简单的方法将它绑定到Kendo-Grid?

感谢。

1 个答案:

答案 0 :(得分:1)

请尝试使用以下代码段。字段名称“标题”区分大小写。

<head> 
    <title></title>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2015.2.902/styles/kendo.common-material.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2015.2.902/styles/kendo.material.min.css" />

    <script src="https://kendo.cdn.telerik.com/2015.2.902/js/jquery.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2015.2.902/js/kendo.all.min.js"></script>
</head>
<body>
    <div id="gridError"></div>

    <script>
        var dataSource = new kendo.data.DataSource({
            data: '<books><book id="1"><title>Secrets of the JavaScript Ninja</title></book></books>',
            schema: {
                // specify the the schema is XML
                type: "xml",
                // the XML element which represents a single data record
                data: "/books/book",
                // define the model - the object which will represent a single data record
                model: {
                    // configure the fields of the object
                    fields: {
                        // the "title" field is mapped to the text of the "title" XML element
                        title: "title/text()"
                    }
                },
                schema: {
                    model: {
                        fields: {
                            title: { editable: false, nullable: true }

                        }
                    }
                }
            }
        });

        var pc = $("#gridError").kendoGrid({
            //excel: { fileName: "Client Orders.xlsx", filterable: true },
            dataSource: dataSource,
            scrollable: true,
            pageable: true,
            navigatable: true,
            columns: [
                { command: "destroy", width: 100 },
                {
                    title: "Error Message",
                    //lock: true,
                    columns: [
                        { field: "title", title: "Error", width: 600 }
                    ],
                }
            ]
        });

    </script>
</body>

如果有任何疑虑,请告诉我。