Вопрос

У меня есть структура, которая выглядит следующим образом

Class TreeNode  {
    public TreeNode Parent { get; }
    public IEnumerable<TreeNode> Children { get; }
    public . . . . 
}

Я хочу связать это с радгридом asp.net telerik с подробными таблицами для каждого уровня дочерних элементов.Я знаю, что radgrid поддерживает декларативную привязку к самоссылающейся иерархии с использованием элемента управления источником данных, но это предполагает, что у вас есть плоский набор данных (например,из базы данных) и может просмотреть какое-либо поле родительского ключа.Мой вопрос: связывал ли кто-нибудь radgrid с такой структурой данных раньше, и есть ли способ сделать это декларативно или в основном декларативно?

Это было полезно?

Решение

Я не могу ответить на ваш вопрос напрямую, так как у меня нет опыта работы с сеткой телерика, но могу предложить обходной путь.

Добавьте в свой класс метод, который сводит его содержимое в самоссылающуюся таблицу, подобную структуре, такой как та, которую вы упомянули.Таким образом, вы по-прежнему можете работать с классом и его более сложной структурой, как вам хочется, но по-прежнему можете выводить содержимое в потребляемой форме, соответствующей ожиданиям компонентов пользовательского интерфейса.

Это также хороший кандидат на метод расширения.

Другие советы

Другой возможный способ, который я могу придумать, — это динамическое построение иерархии путем фильтрации даты для дочерних таблиц на основе их родительского элемента внутри обработчика сетки DetailTableDataBind.Эта демонстрация является хорошим примером:

http://demos.telerik.com/aspnet-ajax/grid/examples/programming/detailtabledatabind/defaultcs.aspx

но я должен согласиться, что предложение Стивена могло бы быть более полезным.

хуй

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top