当您在Kendo Grid上添加新项目时,它会添加一行输入字段/编辑器模板。在保存之前,当您对页面进行排序或切换时,它会将添加的行呈现到网格上。
它没有进行任何ajax调用,因此它并没有真正保存在后端/数据库中,但我唯一的问题是它不应该在网格中呈现(排序应该真的只需取消任何现有的添加/编辑。)
对此有任何修复或解决方法吗?谢谢!
答案 0 :(得分:1)
一种解决方法是在客户端页面上,向将调用取消的标题点击添加一个事件。
$("th.k-header").click(function(){
$("#grid").data('kendoGrid').cancelChanges();
});
请注意,这会使网格失去所有更改。
另一种解决方法是在单击保存更改后处理数据,删除数据源传输的parameterMap
或控制器的服务器端的空行,您可以忽略无效的行。
答案 1 :(得分:0)
您可以将排序:onSortingFunctionName 添加到网格定义中。然后,编写函数以取消更改。 在此处检查可能的事件:https://demos.telerik.com/kendo-ui/grid/events
function onSortingFunctionName(arg) {
$("#grid").data('kendoGrid').cancelChanges();
}