1

次のコードは、剣道のドキュメントにある組み込みコマンドの例を拡張したものです。

<!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各行にand フィールドを追加し、それを と定義しschema.model.idますid。実行中の様子はこちら

于 2013-04-03T16:50:18.610 に答える