zoukankan      html  css  js  c++  java
  • C#递归所以部门展示到TreeView

    C#递归所以部门展示到TreeView

    1.首先是数据库表的设计

      新建一张部门表:TestUser表

      1.ID自增int主键 2.DeptName:nchar(10)3.DeptCode:nchar(10)4:ParentID:nchar(10)

    2.部门表就建好了

    3.新建一个网站

    4.在网站的default.aspx界面拖一个TreeView控件。

    5.aspx.cs代码如下:

    public static string strConn=ConfigurationManager.ConnectionStrings["connString"].ConnectionString.ToString();//数据库连接串
    
    protected void Page_Load(object sender,EventArgs e)
    {
       if(!isPostBack)
    {
        BindDeptTree("0");//数据库你也可以设计成int类型
    }
    }
    
    private void BindDeptNode(TreeNode DTnode)
    {
       try
    {
     DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'");
    for(int i=0;i<ds.Tables[0].Rows.Count;i++)
    {
       TreeNode node=new TreeNode();
       node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString();
       node.Value=ds.Tables[0].Rows[i][DeptCode].ToString();
       DTnode.ChildNodes.Add(node);//把指定的节点添加到控件中
       BindDeptNode(node);
    }
    }
    catch(Exception ex)
    {
       Log.LogWrite(ex.Message);
    }
    }
    
    
    private void BindDeptTree(string ParentID)
    {
    DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'");
    for(int i=0;i<ds.Tables[0].Rows.Count;i++)
    {
       TreeNode node=new TreeNode();
       node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString();
       node.Value=ds.Tables[0].Rows[i][DeptCode].ToString();
       tvData.Nodes.Add(node);//TreeView的IDtvData
       BindDeptNode(node);
    }
    }
    
    
    public DataSet reDs(string strSql)
    {
      using(SqlConnection conn=new Sqlconnection(strConn))
    {
       conn.Open();
       DataSet ds=new DataSet();
       SqlDataAdapter da=new SqlDataAdapter (strSql,conn);
       da.Fill(ds);
       conn.close();
       return ds;
    }
    }
    

    运行结果如下图:

    希望对大家有帮助。有不足的地方望指教。尊重原创,转载请注明出处。

  • 相关阅读:
    解决ArrayList线程不安全
    TraceView工具的使用
    Service
    Android之移动热修复
    06 swap命令,进程管理,rmp命令与yum命令,源码安装python
    04 linux用户群组和权限
    03 linux命令的操作
    Unity 5.x 导入教学Demo
    Creo二次开发—内存处理
    求一个数的二进制数中所含1的个数的代码实现
  • 原文地址:https://www.cnblogs.com/softwaredeveloper/p/5773496.html
Copyright © 2011-2022 走看看