현재이 데이터를 저장하는 방법은 http://blogs.sitepoint.com/hierarchical-data-database-2/입니다.ASP.NET 리피터 및 계층 적 데이터 출력
현재 데이터베이스 행은 다음과 같습니다.
이름 | nodeLeft | nodeRight | nodeLevel
홈 | 1 | 6 | 1
ContentA | 2 | 5 | 2
ContentB | 3 | 4 | 2
정보 | 7 | 8 |
1 지금은 출력 목록 및 jsTree를 사용하여 데이터를 ASP.NET 리피터를 사용하고 있습니다 :
나는 모든<li>
's 및 중첩
<ul>
년대와
ItemTemplate
에서 무엇을 교체 할 필요가
<asp:Repeater ID="rptContentSectionGetAll" runat="server">
<HeaderTemplate>
<div id="contentSectionTree">
<ul>
<li id="contentSectionTreeRoot" rel="root"><a href="#">Root</a>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li id='<%# Eval("ID") %>'>
<a href="#"><%# Eval("name") %></a>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</li>
</ul>
</div>
</FooterTemplate>
</asp:Repeater>
코드 뒤에.
이 뒤에 내 현재 코드는 다음과 같습니다
private DataTable RepeaterDataSource()
{
ContentSectionBAL cBAL = new ContentSectionBAL();
DataTable dTable = new DataTable();
try
{
dTable = cBAL.Load();
int counter = 1;
var htmlList = "";
for (int i = 0; i < dTable.Rows.Count; i++)
{
htmlList = "<li rel='folder' id='" + dTable.Rows[i]["ID"] + "'>";
htmlList += "<a href='#'>" + dTable.Rows[i]["name"] + "</a>";
if (Convert.ToInt32(dTable.Rows[i]["nodeLevel"]) > counter)
{
htmlList = "<ul>";
for (int j = 0; j < dTable.Rows.Count; j++)
{
if (Convert.ToInt32(dTable.Rows[i]["nodeLevel"]) > counter + 1)
{
htmlList += "<li rel='file' id='" + dTable.Rows[j]["ID"] + "'>";
htmlList += "<a href='#'>" + dTable.Rows[j]["name"] + "</a>";
htmlList += "</li>";
}
}
htmlList += "</ul>";
}
htmlList += "</li>";
counter = counter + 1;
}
}
catch (Exception ee)
{
Session["message"] = ee.Message.ToString();
Session["messageType"] = "error";
}
return dTable;
}
이 기능은 내가 수행하여 바인딩 직후 :
private void BindRepeater()
{
rptContentSectionGetAll.DataSource = RepeaterDataSource();
rptContentSectionGetAll.DataBind();
}
모든 일반 노드를 NO 어린이 출력과 아동의 요구에 <li>name</li>
모든 노드 루프의 모든 자식을 출력합니다. <li><ul><li></li></ul><li>
질문 : 1. 올바른 출력을 위해 이러한 유형의 데이터를 순환시키는 적절한 방법은 무엇입니까? 2. 리피터에서 어떻게 성공적으로 출력합니까? [답변]
나는 내가하는 일이 잘되지 않을 것이라는 것을 안다.하지만 내 뇌는 그것에 대해 생각하고 튀기 시작했다. 어떤 도움이라도 대단히 감사하겠습니다.
다른 것이 필요하면 알려주세요.하지만이 내용이 적합해야합니다.
나는 올바른 순서로 원하는 것을 얻기 위해 조건부 또는 수학에 도움이 필요합니다.
이것은 두 가지 질문 중 하나에 대한 답변입니다. – balexander
다른 질문은 무엇입니까? 데이터를 어떻게 처리 하는지를 알고 싶다면 재귀 함수를 사용할 것입니다. – Chad