Передать другую модель в шаблон для использования с Kendo Grid
Возможно ли иметь сетку кендо, в которой модель, редактируемая с помощью команды редактирования, или даже пользовательской команды, отличается от модели, указанной в самой сетке?
По сути, мне нужно иметь сетку, отображающую список одного типа ViewModel, который содержит идентификаторы клиентов и адрес электронной почты. Когда пользователь нажимает кнопку редактирования, форма позволяет ему добавлять / удалять электронные письма для идентификатора клиента строки, из которой он щелкнул, редактировать.
Каждый раз, когда я пытаюсь сделать что-то подобное, всплывающее окно выдает ошибку, которая получает неправильный тип модели.
1 ответ
Я не уверен на 100%, что вы хотите сделать. Вы говорите, что у вашей ViewModel есть идентификатор и адрес электронной почты, но вы хотите добавить адреса электронной почты в пакетном режиме. Я предполагаю, что есть несколько электронных писем, но в любом случае, мой ответ должен ответить на любой пользовательский сценарий редактирования.
Вы бы справились с этим сами. Кендо не имеет ничего подобного из коробки.
То, что я начал делать, это:
- Добавьте вашу собственную команду в качестве шаблона
- Добавьте идентификатор модели в кнопку и класс, чтобы найти эту кнопку
<button class="custom-edit" data-targetid="#=Id#">Custom Edit</button>
- Когда вы нажимаете эту кнопку, открывается окно (лично я предпочитаю некоторые стандартные jQuery
$.on()
слушать событие)
myGrid.element.on("click", ".custom-edit", function(ev){
ev.preventDefault(); // In case your grid is in a form
// Personally I just call an action that returns me a partial view with the ID as parameter and turn it into a window. You then bind to the window's close event to refresh the grid and destroy the window (unless you want to use the same window and just reload it)
});