Как отобразить иерархические данные в ASP.NET? У меня есть источник данных, который выглядит следующим образом:
class Tree
{
IEnumerable<Node> Nodes { get; set; }
}
class Node
{
string Description { get; set; }
decimal Amount { get; set; }
IEnumerable<Node> SubNodes { get; set; }
}
Я хотел бы сделать это в виде списка div, как показано ниже. Мне нужны теги div для плавной анимации при развертывании и свертывании ветвей.
<ul class="foldable">
<li>
<div class="line">
<div class="description">...</div>
<div class="amount">...</div>
</div>
<div class="line">
<div class="description">...</div>
<div class="amount">...</div>
</div>
<ul>
<li>
<div class="line">
<div class="description">...</div>
<div class="amount">...</div>
</div>
</li>
</ul>
</li>
</ul>
- Я пытался создать это, используя ListView элементов, но я не мог понять, как вызвать его рекурсивно.
- Я также посмотрел на класс TreeView , но отбросил его, потому что он отображается с использованием таблиц.
- Я отказался от Адаптеров дружественного управления CSS , поскольку, похоже, это либо переключатель, либо переключатель для всех элементов управления на веб-сайте.
- Я пытался с BulledList , но не мог понять, как заставить его отображать div.
В итоге я использовал четыре идентичных вложенных элемента ListView, поскольку знаю, что мои списки никогда не превышают четырех уровней. Но это решение настолько уродливо, что я надеюсь найти здесь лучшее. =) * * Тысяча двадцать пять