ASP.NET에서 hierarical 데이터를 어떻게 표시합니까? 다음과 같은 데이터 소스가 있습니다.ASP.NET을 사용하여 hierarical 데이터를 표시하려면 어떻게합니까?
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 Friendly Control Adaptors에서 포기했습니다.
- BulledList으로 시도했지만 div를 렌더링하는 방법을 알 수 없습니다.
네 개의 똑같은 중첩 된 ListView 요소를 사용하게되었는데, 그 이유는 내 목록이 4 단계보다 절묘하다는 것입니다. 하지만이 솔루션은 내가보기에 더 나은 것을 찾기를 희망하고 있습니다. =)
단순히 레이아웃 컨테이너로 div를로드하지 마세요. 콘텐츠의 의미와 일치하는 HTML 요소를 먼저 사용하고 그에 따라 CSS를 적용하십시오 (필요한 경우 display : block 사용). http : //daniiswara.net/2009/01/31/div-mania-is-not-semantic-xhtml/ - 절대적으로해야한다면 div 만 사용하십시오. –
그래,이 레이아웃에는 많은 div가 있다는 것을 알고 있습니다. 그러나 모든 브라우저에서 애니메이션을 바로 가져와야했습니다. 그리고 CSS를 끄면이 솔루션은 중첩 목록으로 잘 변형됩니다. –