Kendo ui 最新的剑道网(2014.1.318)model.set方法不起作用

Kendo ui 最新的剑道网(2014.1.318)model.set方法不起作用,kendo-ui,telerik,Kendo Ui,Telerik,看起来剑道网的最新版本有个bug 我正在使用自定义弹出网格编辑器中下拉列表的选择事件来设置模型中其他字段的值。select evet的代码如下所示: function select(e) { var data = this.dataItem(e.item.index()); var win = this.element.closest("[data-role=window]"); var uid = win.data("uid"); var model = grid.data("

看起来剑道网的最新版本有个bug

我正在使用自定义弹出网格编辑器中下拉列表的选择事件来设置模型中其他字段的值。select evet的代码如下所示:

function select(e) {
  var data = this.dataItem(e.item.index());
  var win = this.element.closest("[data-role=window]");
  var uid = win.data("uid");
  var model = grid.data("kendoGrid").dataSource.getByUid(uid);
  model.set('field', data.value);
}
我可以确认已正确返回所选下拉项的dataItem,以及正在编辑的行的模型

不会生成错误,但不会更新模型。同样的代码适用于2013.3.1316版


我不知道Telerik是否有人在这些论坛上浏览过?

据我所知,问题在于data.value。您是否检查它是否包含所需的值

我这样做:

    select : function (e) {
        var data = this.dataItem(e.item.index());
        var win = this.element.closest("[data-role=window]");
        var uid = win.data("uid");
        var model = grid.data("kendoGrid").dataSource.getByUid(uid);
        model.set('field', data);
    }
尝试复制代码并正常工作


检查此处的代码:我将您为City列选择的值复制到City2列。

Hi。这真奇怪。我已经编辑了你的,所以它更符合我正在做的,它的工作非常完美。在我的实现中,它根本不起作用:我已经将数据对象输出到控制台,结果是正确的。我尝试在调用model.set后立即将模型输出到控制台,但字段没有更新。正如我所说的,与上一个2013版本完全相同的代码工作得非常好。我只是进一步研究了这个问题,我已经找到了问题所在,但不知道为什么会发生这种情况。我正在使用model.set更新几个字段。其中大多数已正确更新,但有些未正确更新。未更新的称为elr、start_val和end_val。后两个具有自定义验证,用于检查其值是否在特定范围内。如果我取消验证,一切都很好。我已经更新了以演示该问题。