【问题标题】:Kendo grid how to catch cell change event剑道网格如何捕捉单元格变化事件
【发布时间】:2014-10-09 02:10:43
【问题描述】:

如果我更改预定义单元格中的文本,我需要触发更改事件。

我需要这样的东西:

{   field: "username",
    title : $translate.instant('USER_NAME'),
    onchange:function(value) {
      // HERE I NEED TO GET CHANGED TEXT
    }
},

我如何在 Kendo UI 中做到这一点?

感谢您的帮助。

【问题讨论】:

  • 请提供更多信息什么文字?是否处于编辑模式?如果编辑模式什么编辑模式?等等。
  • 是的,是否处于内联编辑模式。

标签: events kendo-ui kendo-grid onchange


【解决方案1】:

点击更新后使用Datasource Parameter Map,您可以获取更改的数据并在将其发送到服务器之前对其进行映射

var dataSource = new kendo.data.DataSource({
  transport: {
    update: {
      url: "Test url",
      dataType: "json" 
    },
    parameterMap: function(data, type) {
      if (type == "update") {
         // data.models will have your updated Values 
        return { models: kendo.stringify(data.models) };

      }
    }
  }
});

更新

如果您需要获取单元格的更改事件,请在网格数据绑定事件时将事件处理程序附加到单元格

dataBound: function (e) {
    // index is what ever the column index you need
 $("#kgrid").find('table tr td:nth-child(index)').unbind("click").bind("click", function (e) {
          var dataItem = $("#kgrid").data("kendoGrid").dataItem($(this).closest("tr"));

 });

}

【讨论】:

  • 但是我想在离开单元格后触发方法。
  • @redrom 我已经更新了答案,没有完全测试单元格 select 'table tr td:nth-child(index)' 选择您需要的单元格并附加处理程序,dataitem 将具有该行来自数据源的数据
猜你喜欢
  • 1970-01-01
  • 2013-10-07
  • 2014-09-17
  • 2015-06-24
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多