实例学习(上下级类别判断)

来源:互联网 发布:dell服务器数据恢复 编辑:程序博客网 时间:2024/06/05 01:07

数据表Department

DepartID    DepartName

      01              一级01

    0101          二级0101

    0102          二级0102

      02              一级02

    0201          二级0201

    0202          二级0202

  1.     /// <summary>
  2.     /// 绑定导航树
  3.     /// </summary>
  4.     protected void BindTree()
  5.     {
  6.         //获取树数据
  7.         DataSet ds = me.ExecuteDataSet("select * from Department");
  8.         //过虑出父节点
  9.         DataRow[] dr1 = ds.Tables[0].Select("len(DepartID)=2");
  10.         for (int i = 0; i < dr1.Length; i++)
  11.         {
  12.             int count;
  13.             TreeNode treeNode = new TreeNode();
  14.             treeNode.Text = dr1[i]["DepartName"].ToString();
  15.             //treeNode.NavigateUrl = "";//"../" + dr1[i]["Remark"];//这里导航,需要再设置字段。
  16.             //treeNode.Target = "main";
  17.             treeNode.SelectAction = TreeNodeSelectAction.Expand;
  18.             treeNode.ImageUrl = "../images/book.gif";
  19.             this.tv_Nav.Nodes.Add(treeNode);
  20.             //过虑出子节点
  21.             count = 0;
  22.             DataRow[] dr2 = ds.Tables[0].Select("len(DepartID)=4 and Substring(DepartID,1,2)='" + dr1[i]["DepartID"] + "'");
  23.             if (dr1.Length > 0)
  24.             {
  25.                 for (int j = 0; j < dr2.Length; j++)
  26.                 {
  27.                     //这里增加权限判断逻辑。
  28.                     //if (QXDM.IndexOf("" + dr2[j]["lmbh"]) < 0)
  29.                     //    continue;
  30.                     TreeNode childNode = new TreeNode();
  31.                     childNode.Text = dr2[j]["DepartName"].ToString();
  32.                     childNode.NavigateUrl = "../" + dr2[j]["Remark"].ToString();
  33.                     childNode.Target = "main";
  34.                     childNode.ImageUrl = "../images/book.gif";
  35.                     treeNode.ChildNodes.Add(childNode);
  36.                     count = count + 1;
  37.                 }
  38.             }
  39.             //如果没有小类,则连大类一起删除。
  40.             if (count == 0)
  41.                 tv_Nav.Nodes.Remove(treeNode);
  42.         }
  43.     }
原创粉丝点击