資源描述:
《treeview簡(jiǎn)單根據(jù)數(shù)據(jù)庫(kù)的數(shù)據(jù),顯示多級(jí)節(jié)點(diǎn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、treeview簡(jiǎn)單根據(jù)數(shù)據(jù)庫(kù)的數(shù)據(jù),顯示多級(jí)節(jié)點(diǎn)要建立多少個(gè)數(shù)據(jù)表???其實(shí)一個(gè)數(shù)據(jù)庫(kù),一張表就足夠,自我調(diào)用的形式:--創(chuàng)建個(gè)數(shù)據(jù)庫(kù)createdatabaseliveuselive--創(chuàng)建個(gè)表createtablelive(cidintidentity(1,1)primarykeynotnull,classchar(20)notnull,pcidintnotnull)select*fromlive--插入根節(jié)點(diǎn)的標(biāo)題insertintolivevalues('吃',0)insertintolivevalues('穿',0)insertintoliv
2、evalues('住',0)insertintolivevalues('行',0)--插入子節(jié)點(diǎn)的標(biāo)題insertintolivevalues('西餐',1)insertintolivevalues('中餐',1)insertintolivevalues('嘻哈系列',2)insertintolivevalues('正裝系列',2)insertintolivevalues('牛仔系列',2)insertintolivevalues('瓦片房',3)insertintolivevalues('茅草房',3)insertintolivevalues('白坯房
3、',3)insertintolivevalues('精裝小屋',3)insertintolivevalues('兩個(gè)輪子的',4)insertintolivevalues('四個(gè)輪子的',4)--插入子結(jié)點(diǎn)的子節(jié)點(diǎn)的標(biāo)題insertintolivevalues('奔馳',15)insertintolivevalues('奧迪',15)insertintolivevalues('尼桑',15)insertintolivevalues('別克',15)--------------------以上的是創(chuàng)建數(shù)據(jù)庫(kù),并插入數(shù)據(jù),具體實(shí)現(xiàn)代碼:usingSystem
4、;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespacetreeviewANDdatabase{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_L
5、oad(objectsender,EventArgse){//連接數(shù)據(jù)庫(kù)SqlConnectionconn=newSqlConnection("server=admin;uid=sa;pwd=sa;database=live");conn.Open();//數(shù)據(jù)的篩選stringstr="select*fromlive";//DataAdapter,它起著橋梁的作用,在DataSet和其源數(shù)據(jù)存儲(chǔ)區(qū)之間進(jìn)行數(shù)據(jù)檢索和保存SqlDataAdapterda=newSqlDataAdapter(str,conn);//填充dataset具有類似數(shù)據(jù)庫(kù)的結(jié)構(gòu),如
6、表、列、關(guān)系和約束!DataSetds=newDataSet();da.Fill(ds);//調(diào)用方法nodes(this.treeView1.Nodes,ds,0);}//方法privatevoidnodes(TreeNodeCollectiontnode,DataSetds,intid){//創(chuàng)建視圖,應(yīng)為只有一張表DataViewdview=newDataView(ds.Tables[0]);//視圖的好處,在于能方便篩選數(shù)據(jù)dview.RowFilter="[pcid]="+id+"";//顯示每個(gè)節(jié)點(diǎn)的標(biāo)題,遞歸!foreach(DataRow
7、Viewrowindview){TreeNodenode=newTreeNode();node.Text=row["class"].ToString();tnode.Add(node);nodes(node.Nodes,ds,Int32.Parse(row["cid"].ToString()));}}}}---------------------------------------------OK,就這么簡(jiǎn)單。。。當(dāng)然,treeview的應(yīng)用遠(yuǎn)遠(yuǎn)沒那么簡(jiǎn)單!