У меня довольно простая модель данных с тремя таблицами. Контракты, Члены, Эпизоды. И я пытаюсь построить древовидное древовидное представление, чтобы показать каждую запись в трех таблицах относительно их взаимосвязи в уровнях дерева ...
- Существует несколько контрактов.
- Каждый контракт имеет несколько участников.
- У каждого участника есть несколько эпизодов.
Как примечание, демо telerik показывает только один раздел детей.
Онлайн-демонстрация Telerik
Кроме того, их Drag and Drop использует те же таблицы и просто использует функцию GetRootEmployee для обучения. Поэтому я не могу найти соответствующие примеры.
Пример:
Contract 1's decription
Member of Contract 1's name
Episodeid of Member in Contract 1
Another Member of Contract 1...
Episodeid of another Member.
Contract 2's description
Проблема заключается в том, что я просто не могу успешно заполнить эпизоды (третий уровень), хотя первые два работают нормально. Я опубликую свой Просмотр и мой контроллер.
View
@(
Html.Telerik().TreeView()
.Name("myTree")
.BindTo(Model, mappings =>
{
mappings.For<SMTXEFMVCModel.Contract>(binding => binding
.ItemDataBound((item, contract) =>
{
item.Text = contract.Description;
})
.Children(contract => contract.Members));
mappings.For<SMTXEFMVCModel.Member>(binding => binding
.ItemDataBound((item, member) =>
{
item.Text = member.FirstName + " " + member.LastName;
}) //If I stop here, it populates Contract and Members correctly.
.Children(member => member.Episodes));
mappings.For<SMTXEFMVCModel.Episode>(binding => binding
.ItemDataBound((item, episode) =>
{
item.Text = episode.episodeID;
}));
})
)
Контроллер
public ActionResult TreeView()
{
var ctx = new SMTXContext();
var Contracts = ctx.Contracts.ToList();
return View(Contracts);
}