Как получить доступ к другому полю / комбо в строке rowedittemplate при создании строки сетки, когда происходит selectionChanged или checkValue?
Ситуация следующая: я создаю строку в сетке. У меня есть несколько свойств, среди которых одно поле с именем "отдел" и одно поле с именем "имя". Бизнес-правило заключается в том, что все "имена" в "отделе" должны быть уникальными. Сетка не загружает все комбинации названий отделов, поэтому мне нужно позвонить на сервер. Я хочу сделать этот звонок, когда
- selectionChanged на комбо 'отдел' происходит или
- когда 'checkValue' опций валидатора поданного 'name' происходит.
Таким образом, я проверяю, когда либо меняется. Проблема заключается в том, что это происходит во время создания, и в источнике данных нет ни строк, ни накопленных строк в журнале транзакций.
Как я могу получить доступ к полям rowEditTemplate во время создания во время этих конкретных событий, чтобы проверить мои значения? Есть ли другой / лучший способ добиться этого?
1 ответ
Редакторы не создаются, пока вы не сделаете первое редактирование. Вы можете использовать событие editRowStarted, чтобы присоединить логику редактора. Их можно получить с помощью метода editorForKey.
editRowStarted: function (evt, ui) {
var comboEditor = ui.owner.editorForKey("ProductDescription");
}
Я создал небольшую скрипку, которая назначает источник данных для комбо на editRowStarted. Это должно послужить отправной точкой для того, чего вы пытаетесь достичь.