给TreeView控件绑定数据
生活随笔
收集整理的這篇文章主要介紹了
给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);
????????????}
?????????}
在創(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)題。
- 上一篇: 二手房个人出售(新泰二手房房价最新价格)
- 下一篇: java学习开发环境的构建