剑道网格取消编辑事件



我正在使用剑道网格上的edit事件来显示几个隐藏列。然后,我将在save事件中再次隐藏它们。

我遇到的问题是似乎没有取消编辑模式的事件,因此如果用户单击取消,该列就会搞砸。

是否有未记录的事件需要取消,或者我需要找到解决方法?

基本上没有这样的"取消"事件,但是您可以在网格的 еdit 事件中的"取消"按钮上附加单击事件。请检查以下示例:

function onEdit(e) {
   e.container.find(".k-grid-cancel").bind("click", function () {
      //your code here
   })
 }

编辑:从一段时间开始,网格有"取消"事件,可以使用该事件代替上述解决方案:

  • 取消事件
我一直

在寻找同一问题的答案,但这对我不起作用。我有一个场景,在我的控制器中验证网格中的新记录和编辑的记录,并将错误消息添加到 ModelState 的 ModelError 集合中。我已经挂接了网格的数据源错误事件,然后在警报中显示错误消息,然后添加了以下内容来重置更改:

$('#MyGrid').data("kendoGrid").cancelChanges();

这对我来说是一个很好的解决方案,因为我正在使用分页并且保留了用户正在查看的当前页面。

与接受的答案相反,实际上有一个取消事件,就像编辑事件一样。

$("#grid").kendoGrid({
    ...
    edit: function(e) {
        alert("edit")
    },
    cancel: function(e) {
        alert("cancel");
    },
    ...
});

试试这个,

$("#grid").kendoGrid({
 columns: [
  { field: "name" },
  { field: "age" }
 ],
 dataSource: [
  { name: "Jane Doe", age: 30 },
  { name: "John Doe", age: 33 }
 ],
 dataBound: function(e) {
  $("#grid").on("mousedown", ".k-grid-cancel-changes", function (e) {
    //custom logic
  });
 }
});

在 dataBound 中,剑道网格工具栏取消按钮的连线单击事件。它会起作用。

最新更新