给TreeView控件绑定数据
生活随笔
收集整理的這篇文章主要介紹了
给TreeView控件绑定数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TreeView控件顯示Node對象的等級體系結構,每個Node對象包含了一個標簽和可選的點位圖。TreeView控件通常用于顯示文檔頭、索引中的條目、磁盤上的文件和目錄或者可以顯示為等級結構的各種其他信息。
在創建了TreeView控件之后,你可以設置Node對象的屬性和調用其方法增加、刪除或者操縱Node對象。可以編程展開或收縮Node節點以便顯示或隱藏所有的子節點。事件Collapse, Expand和NodeClick提供了在程序中使用的功能。
使用Root, Parent, Child, FirstSibling, Next, Previous和LastSibling屬性可以檢取Node對象的引用,從而在程序代碼中瀏覽節點樹。在樹的根部,選擇則跳到樹頭,如果有必要就滾動窗口。
TreeView控件的外觀有幾種選擇。Node對象可以表現為文本,點位圖,線條和加減號的8種組合之一。
TreeView控件使用ImageList屬性指定的ImageList控件保存在Node對象中使用的點位圖和圖標。一個TreeView控件一次只能使用一個ImageList。這意味著當TreeView控件的Style屬性設置為顯示圖像的風格時,TreeView控件中的每個成員旁邊都顯示一個等大的圖像。 Treeview 如何從數據庫中綁定呢。代碼如下: //得到根節點
????? Code
??public?void?bindTree(int?tableid)//從數據庫中獲取一個表的id,????????{
???????????DataSet?ds?=?new?DataSet();
???????????using?(SqlConnection?conn?=?new?SqlConnection(ConfigurationManager.ConnectionStrings["TreeviewConnectionString"].ConnectionString))?//連接數據庫
????????????{
??????????????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);//調用子節點的方法
???????????}
????????}
//得到子節點?
???????? 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);
????????????}
?????????}
在創建了TreeView控件之后,你可以設置Node對象的屬性和調用其方法增加、刪除或者操縱Node對象。可以編程展開或收縮Node節點以便顯示或隱藏所有的子節點。事件Collapse, Expand和NodeClick提供了在程序中使用的功能。
使用Root, Parent, Child, FirstSibling, Next, Previous和LastSibling屬性可以檢取Node對象的引用,從而在程序代碼中瀏覽節點樹。在樹的根部,選擇則跳到樹頭,如果有必要就滾動窗口。
TreeView控件的外觀有幾種選擇。Node對象可以表現為文本,點位圖,線條和加減號的8種組合之一。
TreeView控件使用ImageList屬性指定的ImageList控件保存在Node對象中使用的點位圖和圖標。一個TreeView控件一次只能使用一個ImageList。這意味著當TreeView控件的Style屬性設置為顯示圖像的風格時,TreeView控件中的每個成員旁邊都顯示一個等大的圖像。 Treeview 如何從數據庫中綁定呢。代碼如下: //得到根節點
????? Code
??public?void?bindTree(int?tableid)//從數據庫中獲取一個表的id,????????{
???????????DataSet?ds?=?new?DataSet();
???????????using?(SqlConnection?conn?=?new?SqlConnection(ConfigurationManager.ConnectionStrings["TreeviewConnectionString"].ConnectionString))?//連接數據庫
????????????{
??????????????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);//調用子節點的方法
???????????}
????????}
//得到子節點?
???????? 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);
????????????}
?????????}
最后在頁面加載中調用得到根節點的方法即:bindTree(0)。
轉載于:https://www.cnblogs.com/xfxr/archive/2009/07/27/1531800.html
總結
以上是生活随笔為你收集整理的给TreeView控件绑定数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二手房个人出售(新泰二手房房价最新价格)
- 下一篇: 「常识」喝茶兀饮料会胖吗