1

情况如下:我正在网格中创建一行。我有几个属性,其中一个组合称为“部门”,一个字段称为“名称”。业务规则是“部门”中的所有“名称”必须是唯一的。网格不会加载所有部门名称组合,因此我必须调用后端。我想在什么时候打这个电话

  1. 'department' 组合上的 selectionChanged 发生或
  2. 当 'name' 字段的验证器选项的 'checkValue' 发生时。

这样我可以检查任何一个更改的时间。问题是这发生在创建过程中,数据源中没有行,事务日志中也没有累积的行。

在这些特定事件期间创建期间如何访问“rowEditTemplate”的字段以检查我的值?有没有其他/更好的方法来实现这一目标?

4

1 回答 1

3

在您进行第一次编辑之前,不会创建编辑器。您可以使用 editRowStarted 事件来附加您的编辑器逻辑。它们可以使用 editorForKey 方法获得。

editRowStarted: function (evt, ui) {
    var comboEditor = ui.owner.editorForKey("ProductDescription");
}

我创建了一个小小提琴,为 editRowStarted 上的组合分配数据源。它应该作为您想要实现的目标的起点。

http://jsfiddle.net/hfen0qea/

于 2014-11-13T14:16:39.253 回答