TreeView의 반복 분석
1936 단어 ASP.NET
TreeNodeCollection 자체에는 반복 피쳐가 없습니다.TreeNode의 ChildNodes 속성에는 반복 피쳐가 있습니다.
반복 분석:
키워드:
4
AddStandardBudgetAccountsTreeNode(pSBAMDLList, pBudgetCycleID, pBudgetTypeID, sbaNode.ChildNodes, SBAMDL.ID);
매번 현재 노드 ID로 순환하는 피드로 이동합니다.자신의 하위 과목을 찾는 것이다.데이터 원본은 pSBAMDLlist로 매번 귀속될 때마다 pSBAMDLlist를 순환해야 한다.Count 회.
역귀의 출구는: 역귀의 끝은 역귀의 출구이고 pSBAMDLlist를 순환합니다.Count 회, 재귀환.
최종적으로 TreeNodeCollection의 대상을 구성합니다.이 객체가 TreeNode에 추가됨...ChildNodes.Add(*)에서
///
///
///
///
///
public void AddStandardBudgetAccountsTreeNode(IList pSBAMDLList, string pBudgetCycleID, string pBudgetTypeID, TreeNodeCollection nodes, string pid)
{
foreach (StandardBudgetAccountsMDL SBAMDL in pSBAMDLList)
{
if (SBAMDL.ParentAccountID == pid)
{
TreeNode sbaNode = new TreeNode();
sbaNode.ToolTip = SBAMDL.AccountCode;
sbaNode.Value = SBAMDL.ID;
sbaNode.Text = SBAMDL.AccountName;
sbaNode.Target = "Chmain";
sbaNode.ImageUrl = Globals.GetOrgImgUrl_t(OT.Organization.EnumOrgTreeNode.Function);
sbaNode.NavigateUrl = "StandardBudgetAccountsList.aspx?BudgetType=" + pBudgetTypeID + "&BudgetCycleID=" + pBudgetCycleID + "&PID=" + sbaNode.Value;
AddStandardBudgetAccountsTreeNode(pSBAMDLList, pBudgetCycleID, pBudgetTypeID, sbaNode.ChildNodes, SBAMDL.ID);
nodes.Add(sbaNode); // AddStandardBudgetAccountsTreeNode , , , , ,
}
}
기타 좋은 예:http://www.cnblogs.com/duhongyu216/articles/1702591.html