我有这个Kendo 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=" " >
<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>
答案 0 :(得分:5)
我解决了这个问题。数据源需要具有属性“autoSync ='true'”
来自剑道手册
autoSync布尔值(默认值:false)
启用(true)或禁用(false)自动调用 每个更改的sync()方法
答案 1 :(得分:2)
类似的情况但我禁用了自动同步,因为我的网格数据源在页面加载后被读取。实现javascript以在更改时同步或在autosync = false时删除。
function gridChange(e) {
if (e.action == "itemchange") {
e.sender.sync();
};
if (e.action == "remove") {
e.sender.sync();
}
}
答案 2 :(得分:0)
所以我假设你的crUD Urls没有被击中。这两个操作背后有一个方法签名,与Kendo想要的不一样。这就是我在这里发布的所有内容。希望能帮助到你。当你开始工作时,不要忘记在你的更新中将数据返回到网格,否则你会得到有趣的行为。