非递归生成的TreeView
生活随笔
收集整理的這篇文章主要介紹了
非递归生成的TreeView
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 開始還想去看那個遞歸的算法呢??基本沒看懂...不知道怎么結束遞歸的...自己想也沒想通.. 然后看看實際問題..反正我們是個小樹,只有右孩子 于是就用非遞歸了... 經過這次折騰后 對SqlDataAdapter和SqlCommand有了更深的了解 先說下TreeView綁定的數據庫的結構 ZD_權限(權限名,權限編號,上級權限,權限URL) 權限分配(用戶名,權限編號)??????????類似學生-選課結構 - - 生成TreeView代碼 ----------------------------------------------------------------------------------------------- ????protected void BindDataBase() ????{ ????????string username = Request.Cookies["username"].Value; ????????//string username = "admin"; ????????SqlConnection conn =new SqlConnection(ConfigurationManager.AppSettings["Myconn"]); ?????? // clsDB dbo = new clsDB(); ?????? // SqlConnection conn1 =new SqlConnection(dbo.connectionString()); ????????string sqlstr1 = "SELECT ZD_權限.權限名,ZD_權限.上級權限,ZD_權限.權限URL,權限分配表.權限編號 FROM ZD_權限 INNER JOIN 權限分配表 ON ZD_權限.權限編號 = 權限分配表.權限編號 WHERE (權限分配表.用戶名 ='"+ username +"' and 上級權限='000')"; ????????SqlDataAdapter da1 = new SqlDataAdapter(sqlstr1,conn); ????????DataSet ds1 = new DataSet(); ????????da1.Fill(ds1,"allfather"); ????????for(int i=0;i<ds1.Tables["allfather"].Rows.Count;i++) ????????{?? //父節點的創建 ????????????TreeNode tree2 = new TreeNode(); ????????????tree2.Text = ds1.Tables["allfather"].Rows["權限名"].ToString(); ????????????tree2.Target = "right";??//作用于右框架 ????????????tree2.SelectAction = TreeNodeSelectAction.Expand;??//父節點選中展開 ????????????TreeView1.Nodes.Add(tree2); ???????????? ????????????//子節點創建 ????????????string sqlstr2 = "SELECT ZD_權限.權限名,ZD_權限.上級權限,ZD_權限.權限URL,權限分配表.權限編號 FROM ZD_權限 INNER JOIN 權限分配表 ON ZD_權限.權限編號 = 權限分配表.權限編號 WHERE (權限分配表.用戶名 ='"+ username +"' and 上級權限='"+ ds1.Tables["allfather"].Rows["權限編號"].ToString()+"')"; ????????????da1 = new SqlDataAdapter(sqlstr2, conn); ????????????DataSet ds2 = new DataSet(); ????????????da1.Fill(ds2, "allchild"); ????????????for (int j = 0; j < ds2.Tables["allchild"].Rows.Count; j++) ????????????{?? ????????????????TreeNode tree3 = new TreeNode(); ????????????????tree3.Text=ds2.Tables["allchild"].Rows[j]["權限名"].ToString(); ????????????????tree3.NavigateUrl = ds2.Tables["allchild"].Rows[j]["權限URL"].ToString(); ????????????????tree3.Target = "right";?? //作用于右框架 ????????????????tree2.ChildNodes.Add(tree3); ????????????} ????????} ????} |
轉載于:https://www.cnblogs.com/wpf123/archive/2009/04/21/2347498.html
總結
以上是生活随笔為你收集整理的非递归生成的TreeView的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: andorid 第五天 了解xml与应用
- 下一篇: CSS实现的阴影效果