3

我有这个剑道 UI 网格。它读取并填充网格。但我面临的问题是更新或删除按钮都不会发送 POST 请求。

保存按钮什么也不做。删除按钮给了我一个确认警报框,然后它在网格中将其删除,但没有请求。

<kendo:grid name="grid" pageable="true" groupable="false" editable="true" sortable="true" filterable="true" height="300" >
    <kendo:grid-columns>
        <kendo:grid-column title="Account" field="name"/>
        <kendo:grid-column width="250">
            <kendo:grid-column-command>
                <kendo:grid-column-commandItem name="showAccount" text="Visa konto" click="showAccount"/>
                <kendo:grid-column-commandItem name="ShowAccountSummary" text="Sammanställning" click="showAccountSummary"/>
            </kendo:grid-column-command>
        </kendo:grid-column>
        <kendo:grid-column title="&nbsp;" >
            <kendo:grid-column-command>
                <kendo:grid-column-commandItem name="save" />
                <kendo:grid-column-commandItem name="destroy" />
            </kendo:grid-column-command>
        </kendo:grid-column>
    </kendo:grid-columns>
    <kendo:dataSource pageSize="10" batch="false">
        <kendo:dataSource-schema>
            <kendo:dataSource-schema-model id="id">
                <kendo:dataSource-schema-model-fields>
                    <kendo:dataSource-schema-model-field name="id" type="number"/>
                    <kendo:dataSource-schema-model-field name="user_id" type="number"/>
                    <kendo:dataSource-schema-model-field name="name" type="string"/>
                </kendo:dataSource-schema-model-fields>
            </kendo:dataSource-schema-model>
        </kendo:dataSource-schema>
        <kendo:dataSource-transport>
            <kendo:dataSource-transport-read url="${transportReadUrl}" dataType="json" type="GET" contentType="application/json" />
            <kendo:dataSource-transport-update url="${updateAccountUrl}" dataType="json" type="POST" contentType="application/json" />
            <kendo:dataSource-transport-destroy url="${destroyUrl}" dataType="json" type="POST" contentType="application/json" />
        </kendo:dataSource-transport>
    </kendo:dataSource>
</kendo:grid>
4

3 回答 3

5

我解决了这个问题。数据源需要具有属性“autoSync='true'”

从剑道手册

autoSync 布尔值(默认值:false)

为所做的每个更改启用 (true) 或禁用 (false) 自动调用 sync() 方法

于 2013-02-13T19:06:07.677 回答
2

类似的情况,但我禁用了自动同步,因为我的网格数据源在页面加载后被读取。实现了 javascript 以在 autosync=false 时同步更改或删除。

function gridChange(e) {
    if (e.action == "itemchange") {
        e.sender.sync();
    };
    if (e.action == "remove") {
        e.sender.sync();
    }
}
于 2013-02-18T20:36:42.657 回答
0

所以我假设你的 crUD 网址没有被击中。这两个操作背后有一个与 Kendo 想要的不匹配的方法签名。这就是我能用你在这里发布的东西做的所有事情。希望能帮助到你。当你让它工作时,不要忘记在你的更新上将数据返回到网格,否则你会得到有趣的行为。

于 2013-02-11T20:22:34.277 回答