treeview绑定(一)

[转载]TreeView数据绑定(二)

 

[转载]TreeView数据绑定(二)

 

[转载]TreeView数据绑定(二)

using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Globalization;

public partial class Tree2 : System.Web.UI.Page
{
    SqlConnection sqlCon = new SqlConnection(@"server=.;database=Forum;Trusted_Connection=True");
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            NodeTree(10);   //设定gradecount的最大层数
        }
    }

    public DataSet dsDataBind(string sqlSelect)
    {
        SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlCon);
        DataSet ds = new DataSet();
        da.Fill(ds);
        return ds;
    }

    protected TreeNode NodeTree(int gradeCount)      //gradecount为最大的层数
    {
        DataSet ds = dsDataBind("select * from tb_Department2 order by fdeptid asc");
        string id, name;
        int grade;
        TreeNode[] tn = new TreeNode[gradeCount];
        TreeNode tree = new TreeNode();
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            name = ds.Tables[0].Rows[i]["fdeptname"].ToString();
            id = ds.Tables[0].Rows[i]["fdeptid"].ToString();
            grade = Convert.ToInt32(ds.Tables[0].Rows[i]["fgrade"].ToString());
            if (grade == 0)
            {
                tn[grade] = new TreeNode(name, id);
                TreeView1.Nodes.Add(tn[0]);     //层次“低”的子树加入到层次“高”的子树  
                UserNode(tn[grade], id);
                //UserNode(tn, id);
            }
            else
            {
                tn[grade] = new TreeNode(name, id);
                tn[grade-1].ChildNodes.Add(tn[grade]);
                UserNode(tn[grade], id);
            }
        }
        return tn[0];
    }

    public void UserNode(TreeNode node, string fuserdept)   //取出tb_user表中的user
    {
        DataSet ds = dsDataBind("select * from tb_User where fuserdept =" + fuserdept);
        if (ds.Tables[0].Rows.Count != 0)
        {
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                TreeNode tn = new TreeNode();
                tn.Text = ds.Tables[0].Rows[i]["fusername"].ToString();
                tn.Value = ds.Tables[0].Rows[i]["fuserid"].ToString();
                node.ChildNodes.Add(tn);
            }
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        this.tb_Select.Text = null;     //清空textbox,方便重新选择人员
        if (TreeView1.CheckedNodes.Count > 0)
        {
            foreach (TreeNode node in TreeView1.CheckedNodes)
            {
                if (node.ChildNodes.Count == 0)
                {
                    string[] text = tb_Select.Text.Split(',');
                    if (!tb_Select.Text.Contains(node.Text+",")) //在treeview读出的字段后加“,”再与textbox中的字段比较。防止包含情况下取不出值
                    {
                        tb_Select.Text += node.Text + ",";
                    }
                }
            }
        }
        else
        {
            Response.Write("<script language='javascript'>alert('没有选择人员!');</script>");
            this.tb_Select.Text = null;
        }
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值