Передать другую модель в шаблон для использования с 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)
});
Другие вопросы по тегам