日期:2014-05-17 浏览次数:20767 次
private void Form1_Load(object sender, EventArgs e) { string sql = string.Format("select * from flb"); DataTable dt = SX.mydb.GET_DataTable(sql); treeadd(dt,0,(TreeNode)null); treeView1.ExpandAll(); } /// <summary> /// 根据菜单表把权限树加载好 /// </summary> /// <param name="dt">数据源</param> /// <param name="Filterid">上级ID</param> /// <param name="node">树节点</param> private void treeadd(DataTable dt, int Filterid, TreeNode node) { DataView subView = dt.DefaultView; subView.RowFilter = "lslb = " + Filterid; //获得ID级别为当前ID的 foreach (DataRowView item in subView) { //如果上级ID为0就直接加载树下面 if (Filterid == 0) { TreeNode treenodel = new TreeNode(); //创建一个节点 treenodel.Text = item["flmc"].ToString(); //节点名称 int id =Convert.ToInt32(item["ID"]); treenodel.Tag = id.ToString(); //节点值 treeView1.Nodes.Add(treenodel); // 如果级别ID为0就直接加到根节点 treeadd(dt, id, treenodel); // 递归调用 } else { //不为0就加载传进来的子节点下 TreeNode treenodel = new TreeNode(); treenodel.Text = item["flmc"].ToString(); int id = Convert.ToInt32(item["ID"]); treenodel.Tag = id.ToString(); node.Nodes.Add(treenodel); //把节点加入到当前节点下, treeadd(dt, id, treenodel); } }