使用treeview控件創建樹形結構
數據庫結構設計
本文使用的是ms-sqlserver2000,涉及到以下兩個數據庫表:
表名
說明
表名
說明
mainbords
主版編號表
subborads
子版表
各表中的字段如下: mainboards中的字段設置
字段
類型
說明
mainid
整型
索引號
mainname
字符型
主版名稱
subboards中的字段設置:
subboards中的字段設置:
字段
類型
說明
subid
整型
索引號
mainid
整型
對應的主版編號
subname
字符型
子版名稱
字段
類型
說明
subid
整型
索引號
mainid
整型
對應的主版編號
subname
字符型
子版名稱
3.2 創建樹形結構:
3.2 創建樹形結構:
3.2 創建樹形結構:
要實現樹形結構,我們首先必須添加主節點,也就是mainboards表。
先連接數據庫:
sqlconnection cn = new sqlconnection();
//初始化連接字符串,請根據實際情況修改
cn.connectionstring= "data source=localhost;initial catalog=bbs;persist security info=false;user id=sa;password=sa;";
cn.open();
sqldataadapter adp = new sqldataadapter("select * from mainboards",cn);
dataset ds=new dataset();
adp.fill(ds);
添加主節點
int nummain=ds.tables[0].rows.count;
for(int i=0;i<nummain;i++)
{
treenode node=new treenode() ;
node.text =ds.tables[0].rows[i][1].tostring();
tree.nodes.add(node);
node.expanded=true;
int mainid=convert.toint32(ds2.tables[0].rows[i][0].tostring());
//調用addsubtree方法添加子節點
addsubtree(mainid,node);
addsubtree方法
public void addsubtree(int mainid,treenode pnode)
{ //讀取subborads表中的內容
sqlconnection con = new sqlconnection();
con.connectionstring= "data source=localhost;initial catalog=bbs;persist security info=false;user id=sa;password=sa;";
con.open();
sqldataadapter adp1 = new sqldataadapter("select * from subboards where mainid='"+mainid+"'",con);
dataset ds1=new dataset();
adp1.fill(ds1);
int numsub=ds1.tables[0].rows.count;
//在給定的主節點下添加子節點
for(int i=0;i<numsub;i++)
{
treenode node=new treenode() ;
node.text =ds1.tables[0].rows[i][2].tostring();
pnode.nodes.add(node);
//在此設置節點點擊以后定向到頁面:
node.navigateurl="display.aspx?id=";
node.expanded=false;} }
新聞熱點
疑難解答
圖片精選