日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

给TreeView控件绑定数据

發(fā)布時(shí)間:2023/12/31 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给TreeView控件绑定数据 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
TreeView控件顯示Node對(duì)象的等級(jí)體系結(jié)構(gòu),每個(gè)Node對(duì)象包含了一個(gè)標(biāo)簽和可選的點(diǎn)位圖。TreeView控件通常用于顯示文檔頭、索引中的條目、磁盤(pán)上的文件和目錄或者可以顯示為等級(jí)結(jié)構(gòu)的各種其他信息。
在創(chuàng)建了TreeView控件之后,你可以設(shè)置Node對(duì)象的屬性和調(diào)用其方法增加、刪除或者操縱Node對(duì)象??梢跃幊陶归_(kāi)或收縮Node節(jié)點(diǎn)以便顯示或隱藏所有的子節(jié)點(diǎn)。事件Collapse, Expand和NodeClick提供了在程序中使用的功能。
使用Root, Parent, Child, FirstSibling, Next, Previous和LastSibling屬性可以檢取Node對(duì)象的引用,從而在程序代碼中瀏覽節(jié)點(diǎn)樹(shù)。在樹(shù)的根部,選擇則跳到樹(shù)頭,如果有必要就滾動(dòng)窗口。
TreeView控件的外觀有幾種選擇。Node對(duì)象可以表現(xiàn)為文本,點(diǎn)位圖,線條和加減號(hào)的8種組合之一。
TreeView控件使用ImageList屬性指定的ImageList控件保存在Node對(duì)象中使用的點(diǎn)位圖和圖標(biāo)。一個(gè)TreeView控件一次只能使用一個(gè)ImageList。這意味著當(dāng)TreeView控件的Style屬性設(shè)置為顯示圖像的風(fēng)格時(shí),TreeView控件中的每個(gè)成員旁邊都顯示一個(gè)等大的圖像。 Treeview 如何從數(shù)據(jù)庫(kù)中綁定呢。代碼如下: //得到根節(jié)點(diǎn)
????? Code
??public?void?bindTree(int?tableid)//從數(shù)據(jù)庫(kù)中獲取一個(gè)表的id,????????{
???????????DataSet?ds?=?new?DataSet();
???????????
using?(SqlConnection?conn?=?new?SqlConnection(ConfigurationManager.ConnectionStrings["TreeviewConnectionString"].ConnectionString))?//連接數(shù)據(jù)庫(kù)
????????????{
??????????????SqlCommand?com?
=?new?SqlCommand("select?*?from?table?where?tableid="?+?tableid,?conn);
????????????????SqlDataAdapter?da?
=?new?SqlDataAdapter(com);
????????????????da.Fill(ds);
???????????}
????????????
for?(int?i?=?0;?i?<?ds.Tables[0].Rows.Count;?i++)
???????????{
???????????????TreeNode?node?
=?new?TreeNode();
???????????????node.PopulateOnDemand?
=?false;
???????????????node.Text?
=?ds.Tables[0].Rows[i]["tablename"].ToString();
???????????????node.Value?
=?ds.Tables[0].Rows[i]["id"].ToString();
??????????????node.Target?
=?"frmright";
???????????????node.NavigateUrl?
=?ds.Tables[0].Rows[i]["tableurl"].ToString();?
???????????????TreeView1.Nodes.Add(node);

????????????????
????????????????node.Expanded?
=?false;
????????????????node.SelectAction?
=?TreeNodeSelectAction.Expand;
???????????????bindChildnodes(node);
//調(diào)用子節(jié)點(diǎn)的方法
???????????}
????????}
//得到子節(jié)點(diǎn)?
???????? Code
?public?void?bindChildnodes(TreeNode?rootnode)?????????{
????????????DataSet?ds?
=?new?DataSet();
?????????????
using?(SqlConnection?conn?=?new?SqlConnection(ConfigurationManager.ConnectionStrings["TreeviewConnectionString"].ConnectionString))
?????????????{
?????????????????SqlCommand?com?
=?new?SqlCommand("select?*?from?table?where?tableid="?+?rootnode.Value,?conn);
????????????????SqlDataAdapter?da?
=?new?SqlDataAdapter(com);
???????????????da.Fill(ds);
????????????}
?????????????
for?(int?i?=?0;?i?<?ds.Tables[0].Rows.Count;?i++)
?????????????{
????????????????TreeNode?node?
=?new?TreeNode();
?????????????????node.Text?
=?ds.Tables[0].Rows[i]["tablename"].ToString();
?????????????????node.Value?
=?ds.Tables[0].Rows[i]["id"].ToString();
?????????????????node.Target?
=?"frmright";
????????????????node.NavigateUrl?
=?ds.Tables[0].Rows[i]["tableurl"].ToString();

????????????????rootnode.ChildNodes.Add(node);
?????????????????bindChildnodes(node);
????????????}

?????????}

最后在頁(yè)面加載中調(diào)用得到根節(jié)點(diǎn)的方法即:bindTree(0)。

轉(zhuǎn)載于:https://www.cnblogs.com/xfxr/archive/2009/07/27/1531800.html

總結(jié)

以上是生活随笔為你收集整理的给TreeView控件绑定数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。