2016-09-22 9 views
0

Итак, я невероятно новичок в использовании Kendo, и я возился с их сетью mvc. Я определил сетку с источником данных ajax для подкачки и сортировки на стороне сервера. Объект, который возвращает вызов ajax, имеет свойство IEnumerable. Я хотел бы использовать иерархические возможности Grid для отображения этой коллекции в виде дочерней сетки каждой строки. Я прочитал много блогов и документации Telerik по иерархическим сеткам, и каждый найденный мной пример определяет шаблон клиента для дочерней сетки, и этот шаблон клиента представляет собой сетку, которая делает отдельный вызов ajax для получения своих данных. Мне не нужно или хотите сделать отдельный вызов для дочерней сетки, так как у меня уже есть все данные, которые мне нужны в модели для родительской сетки. Есть ли способ, которым я могу выполнить то, что я пытаюсь сделать?Иерархия сетки Kendo MVC - дочерняя сетка, созданная из родительского свойства Ienumerable

ответ

0

Описанный сценарий может быть реализован следующим образом: пункты

  • основных данных должны иметь поле со значением, которое является массивом из простых объектов - на основе того, что вы говорите, вы уже должны иметь это.
  • Конфигурация главной сетки должна определять client detail template с дочерней сеткой, которая имеет определенные столбцы, Ajax DataSource и тип модели, но не привязана к каким-либо конкретным данным (т. Е. Нет действия Read()).
  • В detailInit случае основной сетки, get() вложенный массив из элемента основных данных (e.data), и назначить его с помощью data() к примеру dataSource в Подвесном в.

http://dojo.telerik.com/iLAza

Вы можете заметить, что использование toJSON() в приведенном выше примере. Его цель состоит в том, чтобы разбить массив вложенных элементов всех связанных с Kendo-UI файлов ObservableObject и преобразовать их обратно в обычный массив JavaScript простых объектов. Этот шаг является необязательным, но необходим, если вы хотите разделить данные деталей Grids с данными в главной сетке.

+0

Спасибо. Это сработало хорошо. Любопытно, есть ли способ установить источник данных для дочерней сетки без этой функции javascript? Все, что я делал с сеткой до сих пор, было с их беглой api в Razor, и я задаюсь вопросом, есть ли способ решить этот sans javascript. Еще раз спасибо. – wakers01

+1

Использование JavaScript для детализации Сетки необходимы в вашем сценарии, потому что свободный API не имеет возможности определить декларативно связь между деталями данных Grid и элементом основных данных. – dimodi

+1

Я ценю вашу помощь. – wakers01

 Смежные вопросы

  • Нет связанных вопросов^_^