久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C# TreeView從數據庫綁定數據

 春夜喜雨LBR 2018-01-28

封裝成一個函數,方便直接調用

  1. //綁定TrreView  
  2.         private void InitModuleTree(DataTable dt)  
  3.         {  
  4.             //清空treeview上所有節(jié)點  
  5.             this.tree_Role.Nodes.Clear();    
  6.             int[] gen = new int[dt.Rows.Count]; //用于存儲父節(jié)點Tag  
  7.             int[] zi = new int[dt.Rows.Count];  //用于存儲子節(jié)點Tag  
  8.             for (int i = 0; i < gen.Length; i++)  
  9.             {  
  10.                 string zhi=dt.Rows[i][3].ToString();//獲取節(jié)點Tag值   eg:1-2  
  11.                 if (zhi.Length>1)   //表示是子節(jié)點   eg:1-2  
  12.                 {  
  13.                     gen[i] = int.Parse(zhi.Substring(0, zhi.IndexOf('-')));  
  14.                     zi[i] = int.Parse(zhi.Substring(zhi.IndexOf('-') + 1));  
  15.                 }  
  16.                 else    //表示是根節(jié)點   eg:2  
  17.                 {  
  18.                     //將所有父節(jié)點加到treeview上  
  19.                     zi[i] =int.Parse(zhi);  
  20.                     TreeNode nodeParent = new TreeNode();  
  21.                     nodeParent.Tag = (zi[i]).ToString();  
  22.                     nodeParent.Text = dt.Rows[i][1].ToString();  
  23.                     tree_Role.Nodes.Add(nodeParent);  
  24.                 }  
  25.             }  
  26.             bindChildNote(dt,gen,zi);  
  27.         }  

  1. //綁定子節(jié)點  
  2.         private void bindChildNote(DataTable dt, int[] gen, int[] zi)   
  3.         {  
  4.             for (int i = 0; i < gen.Length; i++)      
  5.             {  
  6.                 if (gen[i] != 0 && zi[i] != 0)        //便利所有節(jié)點,,找到所有子節(jié)點  
  7.                 {  
  8.                     TreeNode childNode = new TreeNode();  
  9.                     foreach (TreeNode item in tree_Role.Nodes)   //便歷treeview上所有父節(jié)點  
  10.                     {  
  11.                         if (item.Tag.ToString() == gen[i].ToString())  //找到當前子節(jié)點的父節(jié)點  
  12.                         {  
  13.                             childNode.Tag = zi[i].ToString();  
  14.                             childNode.Text = dt.Rows[i][1].ToString();  
  15.                             item.Nodes.Add(childNode);  
  16.                         }  
  17.                     }  
  18.                 }  
  19.             }  
  20.             tree_Role.ExpandAll();      //展開整棵樹  
  21.         }  

數據庫結構:


最終結果:



引用代碼:

  1. namespace TreeeeeeeeeeeView  
  2. {  
  3.     public partial class Treeeeeeeeeee : Form  
  4.     {  
  5.         public Treeeeeeeeeee()  
  6.         {  
  7.             InitializeComponent();  
  8.   
  9.             //從數據庫獲取數據,得到結果為DataTable  
  10.             SystemManager.Dao.RolePower dao = new SystemManager.Dao.RolePower();  
  11.             DataSet ds = CommonLib.Dao.CompressUtil.DeCompress(dao.getSystemModule());  
  12.             DataTable dt = ds.Tables[0];  
  13.             InitModuleTree(dt);  
  14.         }  
  15.   
  16.         //綁定TrreView  
  17.         private void InitModuleTree(DataTable dt)  
  18.         {  
  19.             //清空treeview上所有節(jié)點  
  20.             this.tree_Role.Nodes.Clear();    
  21.             int[] gen = new int[dt.Rows.Count]; //用于存儲父節(jié)點Tag  
  22.             int[] zi = new int[dt.Rows.Count];  //用于存儲子節(jié)點Tag  
  23.             for (int i = 0; i < gen.Length; i++)  
  24.             {  
  25.                 string zhi=dt.Rows[i][3].ToString();//獲取節(jié)點Tag值   eg:1-2  
  26.                 if (zhi.Length>1)   //表示是子節(jié)點   eg:1-2  
  27.                 {  
  28.                     gen[i] = int.Parse(zhi.Substring(0, zhi.IndexOf('-')));  
  29.                     zi[i] = int.Parse(zhi.Substring(zhi.IndexOf('-') + 1));  
  30.                 }  
  31.                 else    //表示是根節(jié)點   eg:2  
  32.                 {  
  33.                     //將所有父節(jié)點加到treeview上  
  34.                     zi[i] =int.Parse(zhi);  
  35.                     TreeNode nodeParent = new TreeNode();  
  36.                     nodeParent.Tag = (zi[i]).ToString();  
  37.                     nodeParent.Text = dt.Rows[i][1].ToString();  
  38.                     tree_Role.Nodes.Add(nodeParent);  
  39.                 }  
  40.             }  
  41.             bindChildNote(dt,gen,zi);  
  42.         }  
  43.   
  44.         //綁定子節(jié)點  
  45.         private void bindChildNote(DataTable dt, int[] gen, int[] zi)   
  46.         {  
  47.             for (int i = 0; i < gen.Length; i++)      
  48.             {  
  49.                 if (gen[i] != 0 && zi[i] != 0)        //便利所有節(jié)點,,找到所有子節(jié)點  
  50.                 {  
  51.                     TreeNode childNode = new TreeNode();  
  52.                     foreach (TreeNode item in tree_Role.Nodes)   //便歷treeview上所有父節(jié)點  
  53.                     {  
  54.                         if (item.Tag.ToString() == gen[i].ToString())  //找到當前子節(jié)點的父節(jié)點  
  55.                         {  
  56.                             childNode.Tag = zi[i].ToString();  
  57.                             childNode.Text = dt.Rows[i][1].ToString();  
  58.                             item.Nodes.Add(childNode);  
  59.                         }  
  60.                     }  
  61.                 }  
  62.             }  
  63.             tree_Role.ExpandAll();      //展開整棵樹  
  64.         }  
  65.           
  66.     }  
  67. }  


    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多