TreeView用法一

 public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               //  BindTree();
                BindTreeOne();
            }
        }

        public DataTable GetDataTable()
        {

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("CategoryID", typeof(int)));
            dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
            dt.Columns.Add(new DataColumn("FatherID", typeof(string)));

            DataRow drNew = dt.NewRow();
            drNew = dt.NewRow();
            drNew["CategoryID"] = 1;
            drNew["CategoryName"] = "食物";
            drNew["FatherID"] = "0";
            dt.Rows.Add(drNew);


            drNew = dt.NewRow();
            drNew["CategoryID"] = 2;
            drNew["CategoryName"] = "肉类";
            drNew["FatherID"] = "1";
            dt.Rows.Add(drNew);


            drNew = dt.NewRow();
            drNew["CategoryID"] = 3;
            drNew["CategoryName"] = "水果";
            drNew["FatherID"] = "1";
            dt.Rows.Add(drNew);

            drNew = dt.NewRow();
            drNew["CategoryID"] = 4;
            drNew["CategoryName"] = "苹果";
            drNew["FatherID"] = "3";
            dt.Rows.Add(drNew);


            drNew = dt.NewRow();
            drNew["CategoryID"] =5;
            drNew["CategoryName"] = "桃子";
            drNew["FatherID"] = "3";
            dt.Rows.Add(drNew);


            drNew = dt.NewRow();
            drNew["CategoryID"] = 6;
            drNew["CategoryName"] = "牛肉";
            drNew["FatherID"] = "2";
            dt.Rows.Add(drNew);

            drNew = dt.NewRow();
            drNew["CategoryID"] = 7;
            drNew["CategoryName"] = "猪肉";
            drNew["FatherID"] = "2";
            dt.Rows.Add(drNew);
            return dt;
        }

        #region dataRow实现

        // 绑定TreeNode节点
        private  void  BindNode(TreeNode treeNode)
        {

            DataRow[] dataRows = GetDataTable().Select("FatherID='" + treeNode.Value + "'");
            foreach (DataRow dataRow in dataRows)
            {
                TreeNode node = new TreeNode();
                node.Text = dataRow["CategoryName"].ToString();
                node.Value = dataRow["CategoryID"].ToString();
                treeNode.ChildNodes.Add(node);
                BindNode(node);
          }
        }
        // 绑定TreeView树状节点
        private  void  BindTree()
        {
            DataRow[] dataRows = GetDataTable().Select("FatherID='0'");
            foreach (DataRow dataRow in dataRows)
            {
                TreeNode node=new TreeNode();
                node.Text = dataRow["CategoryName"].ToString();
                node.Value = dataRow["CategoryID"].ToString();
                Treeview1.Nodes.Add(node);
                BindNode(node);
            }
        }

        #endregion

        #region  DataView实现

        // 绑定TreeNode节点
        private void BindNodeOne(DataTable dataTable,TreeNode treeNode)
        {
            DataView dataView=new DataView(dataTable);
            dataView.RowFilter = "FatherID='" + treeNode.Value + "'";
            foreach (DataRowView row in dataView)
            {
                TreeNode node = new TreeNode();
                node.Text = row["CategoryName"].ToString();
                node.Value = row["CategoryID"].ToString();
                node.Expanded = false;
                treeNode.ChildNodes.Add(node);
                BindNodeOne(dataTable,node);
            }
        }
        // 绑定TreeView树状节点
        private void BindTreeOne()
        {
            DataTable dataTable = GetDataTable();
            DataView dataView=new DataView(dataTable);
            dataView.RowFilter = "FatherID='0'";
            foreach (DataRowView dataRowView in  dataView)
            {
                TreeNode node = new TreeNode();
                node.Text = dataRowView["CategoryName"].ToString();
                node.Value = dataRowView["CategoryID"].ToString();
                node.Expanded = false;
                Treeview1.Nodes.Add(node);
                BindNodeOne(dataTable, node);
            }
        }
        #endregion
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值