트리뷰 노드 추가 재귀 함수.
SBS 전자 자막의뢰 Web사이트 구축하면서
로그파일관리 페이지를 만들면서 작성했던 부분임.
간단한 재귀로 하위 디렉토리들을 추가 하게 됨.
/// <summary>
/// 폴더 이하 파일&디렉토리 검색해서 트리뷰에 추가하는 재귀 함수
/// </summary>
/// <param name="sDirectoryName"></param>
/// <returns></returns>
private TreeNode GetTreeNodes(string sDirectoryName, string rootPath)
{
string[] fileNames = Directory.GetFiles(sDirectoryName);
string[] directoryNames = Directory.GetDirectories(sDirectoryName);
int fileCount = fileNames.Length;
//TreeNode root = new TreeNode(sDirectoryName.Replace(rootPath, ""));
TreeNode root = new TreeNode(string.Format("{0} : {1}", sDirectoryName.Replace(rootPath, ""), fileCount), sDirectoryName.Replace(rootPath, ""));
foreach (string dir in directoryNames)
{
if( dir.Replace(sDirectoryName+"\\","") == ".svn") continue;
TreeNode tnode = GetTreeNodes(dir, sDirectoryName+@"\"); // 재귀!
tnode.SelectAction = TreeNodeSelectAction.Select; // 포스트백 발생하지 않게 됨.
root.ChildNodes.Add(tnode);
}
//foreach (string fileName in fileNames)
//{
// TreeNode tnode2 = new TreeNode(fileName.Replace(sDirectoryName + "\\", ""));
// tnode2.SelectAction = TreeNodeSelectAction.None;
// root.ChildNodes.Add(tnode2);
//}
root.SelectAction = TreeNodeSelectAction.Select;
return root;
}
'# 2) .Net ( Vs 2005 ) > WebForm' 카테고리의 다른 글
철호야! 공부하자! (0) | 2009.05.08 |
---|---|
리피터 사용!! (0) | 2009.05.08 |
Table Row-> Select, MouseOver, Out관련 (0) | 2009.05.08 |
기존의 웹프로젝트 페이지를 그대로 이용하기. (0) | 2009.05.08 |
페이징 컨트롤러 (0) | 2009.05.01 |