이것은 어제의 질문 "How do I create folders in ASP.NET in code behind"을 참조한 것입니다. 문제는 런타임에 동적 폴더를 만들고 싶다는 것입니다. 폴더 이름은 TextBox를 통해 입력되며 출력은 TreeView에 표시됩니다. textbox1에 첫 번째 폴더 이름을 입력하고 "폴더 추가"버튼을 클릭하면 양식이 제출됩니다. 같은 이름의 여러 폴더를 제출할 때 결과는 이름의 색인 된 증가분 (예 : FooFolder, FooFolder (2), FooFolder (3) 등)이어야합니다. 폴더 이벤트 추가 및 폴더 이벤트 제거의 두 가지 이벤트가 있습니다. 특정 하위 폴더를 선택하고 "폴더 제거"버튼을 클릭하면 해당 폴더가 제거됩니다. 폴더를 추가하기 위해 다음 코드를 작성했습니다.코드 뒤에서 폴더를 만드는 방법
TreeNode tnode = new TreeNode();
if (TreeView1.Nodes.Count > 0)
{
int found = 0;
for (int i = 0; i < TreeView1.Nodes.Count; i++)
{
if (TreeView1.Nodes[i].Text == TextBox1.Text)
found += 1+i;
}
if (found > 0)
{
tnode.Text = TextBox1.Text + found.ToString();
}
else
{
tnode.Text = TextBox1.Text;
}
}
else
{
tnode.Text = TextBox1.Text;
}
TreeView1.Nodes.Add(tnode);
}
내 코드에서 ChildNode 인덱스가 증가하지 않습니다. 그것은 다음과 같이 항상 1 : 트 리뷰에서
Sumit
Sumit(1)
Sumit(1)
Sumit(1)
Amit
Amit(5)
Amit(5)
Amit(5)
, 나는
ImageSet="XPFileExplorer"
을 설정했습니다. 그래서 출력은 다음과 같아야합니다
-Root
-Sumit(Parent1)
NewFolder
NewFolder(2)
NewFolder(3)
NewFolder(4)
NewFolder(5)
-Amit(Parent2)
FooFolder
FooFolder(2)
FooFolder(3)
FooFolder(4)
FooFolder(5)
나는, 말, Newfolder (3) Newfolder을 하위 폴더를 삭제 (4)와 같은 수밋 (상위 1)에서이 같은 폴더를 만들 경우, 인덱스가 있어야한다 새 폴더 (3), 새 폴더 (4). 같은 이름의 Sumit 아래에 NewFolder를 하나 더 만들면 인덱스는 NewFolder (6) 여야합니다.
누군가 내 코드를 수정하여 원하는 출력을 얻을 수 있습니까?
내가 시리즈는 coming.Jack, 잭 (1), 잭 (3), 잭입니다 폴더 이름으로 6 번 잭을 입력 output.If 원하는 제공되지 않습니다 코드 (6), 잭 (10), 잭 (15)은 절대적으로 잘못된 출력입니다. – user59637
발견 된 수를 수정하도록 편집했습니다. – SirDemon
안녕하세요 귀하의 코딩 하위 폴더 색인에서 1 시작 어디로 2로 시작 했어야합니다. 예 : 잭은 부모 폴더 마이클은 잭 마이클, 마이클 (2), 마이클 (3), 마이클 (4) – user59637