1

以下代码是 Kendo 文档中内置命令示例的扩展版本

<!DOCTYPE html5>
<html>
<head>
    <title>Untitled Page</title>
    <link href="styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
    <link href="styles/kendo.default.min.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery.min.js" type="text/javascript"></script>
    <script src="js/kendo.web.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#grid").kendoGrid({
                columns: [
                    { field: "name" },
                    { command: ["edit", "destroy"]} // displays the built-in "edit" and "destroy" commands
                ],
                editable: "inline",
                dataSource: new kendo.data.DataSource ({
                    data: [{ name: "Jane Doe" }, { name: "Joe Soap" }, { name: "Fred Blogs"}]
                })
            });
        });
     </script>
</head>
<body>
    <div id="grid"></div>

</body>
</html>

单击任何“编辑”按钮都可以正常工作。如果您现在单击另一个“编辑”按钮而不取消第一个按钮,则原始编辑行将被取消,但现在所有编辑按钮都无法在编辑模式下打开一行。当网格使用远程数据源时,不会演示此行为。

剑道知道这个问题吗?

有谁知道解决方法?

4

1 回答 1

4

当模型中没有id定义时,这是一个常见的问题(这实际上不是 Kendo UI 的问题,可能是一个没有明确记录的行为)。

请改用此grid定义:

$("#grid").kendoGrid({
    columns   : [
        { field: "name" },
        { command: ["edit", "destroy"]} // displays the built-in "edit" and "destroy" commands
    ],
    editable  : "inline",
    dataSource: new kendo.data.DataSource({
        data  : [
            { id: 1, name: "Jane Doe" },
            { id: 1, name: "Joe Soap" },
            { id: 2, name: "Fred Blogs"}
        ],
        schema: {
            model: {
                id: "id"
            }
        }
    })
});

我已经id为每一行添加了和字段,然后我将其定义schema.model.idid. 看到它在这里运行

于 2013-04-03T16:50:18.610 回答