다음은 두개의 데이터 베이스에 있는 내용을 TreeView에 Binding하는 소스입니다..
천 번째 데이터 베이스에는 학교의 분류와 그에 해당하는 key값이 들어있고,
두 번째 데이터 베이스에는 해당 key값에 정의된 학교 이름이 있습니다..
SqlDataAdapter adp1 = new SqlDataAdapter("select * from school_category",con);
DataSet ds1 = new DataSet();
adp1.Fill(ds1);
string ca = "";
for(int i = 0;i<ds1.Tables[0].Rows.Count;i++)//첫번째 데이터의 rows만큼 반복
{
Microsoft.Web.UI.WebControls.TreeNode item = new Microsoft.Web.UI.WebControls.TreeNode();
item.Text = "ds1.Tables[0].Rows[i][1].ToString()";//Root노드의 텍스트 입력
item.CheckBox = true;
this.TreeView1.Nodes.Add(item);//Root 노드 추가
ca = ds1.Tables[0].Rows[i][0].ToString();//Root노드의 Key값 가져오기
SqlDataAdapter adp2 = new SqlDataAdapter("select * from school where category="+ca+"",con);
DataSet ds2 = new DataSet();
adp2.Fill(ds2);
for(int j = 0;j<ds2.Tables[0].Rows.Count;j++)//두 번째 데이터의 rows만큼 반복
{
Microsoft.Web.UI.WebControls.TreeNode item2 = new Microsoft.Web.UI.WebControls.TreeNode(); item2.Text = ds2.Tables[0].Rows[j][1].ToString();//자식 노드의 텍스트 입력
item2.CheckBox = true;
this.TreeView1.Nodes[i].Nodes.Add(item2);//자식 노드 추가
//여기서 주의 할 점은 this.TreeView1.Nodes[i].Nodes.Add(item2);에서 j 가 아니라 i의 노드에 추가 한다는 것입니다..만약 j로 입력하면 에러가 발생합니다..주의하시길..
}
}
<출처 : Devpia>
[출처] [펌] ASP.NET TreeView DataBinder|작성자 천사의눈
'Program > ASP.NET' 카테고리의 다른 글
Cross-Site Scripting (0) | 2010.05.31 |
---|---|
IE8(익스플로러) 호환성 보기 버튼 없애는 방법 (0) | 2010.04.03 |
[mschart] MSChart를 이용한 WebPart 개발시 Web.config 설정 (0) | 2010.01.26 |
닷넷(.NET) ADO.NET 2.0 SqlBulkCopy 사용예제 (0) | 2010.01.20 |
IIS7에서 권한부여 에러 해결하기 (0) | 2009.12.28 |