zoukankan      html  css  js  c++  java
  • TreeView绑定数据库数据

    TreeView控件可以通过递归方式绑定数据库数据,代码如下:

        void Page_Load()
        {
            if (!Page.IsPostBack)
                PopulateTreeView();
        }

        private void PopulateTreeView()
        {
            DataTable treeViewData = GetTreeViewData();
            AddTopTreeViewNodes(treeViewData);  //绑定父节点
        }

        private DataTable GetTreeViewData()    //获取数据
        {
            string selectCommand = "SELECT MessageId,ParentId,Subject FROM Discuss";
            string conString = WebConfigurationManager.ConnectionStrings["Discuss"].ConnectionString;
            SqlDataAdapter dad = new SqlDataAdapter(selectCommand, conString);
            DataTable dtblDiscuss = new DataTable();
            dad.Fill(dtblDiscuss);
            return dtblDiscuss;
        }

        private void AddTopTreeViewNodes(DataTable treeViewData)
        {
            DataView view = new DataView(treeViewData);
            view.RowFilter = "ParentID IS NULL";
            foreach (DataRowView row in view)
            {
                TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["MessageId"].ToString());
                TreeView1.Nodes.Add(newNode);
                AddChildTreeViewNodes(treeViewData, newNode);//绑定子节点
            }

        }

        private void AddChildTreeViewNodes(DataTable treeViewData, TreeNode parentTreeViewNode)
        {
            DataView view = new DataView(treeViewData);
            view.RowFilter = "ParentID=" + parentTreeViewNode.Value;
            foreach (DataRowView row in view)
            {
                TreeNode newNode = new TreeNode(row["Subject"].ToString(), row["MessageId"].ToString());
                parentTreeViewNode.ChildNodes.Add(newNode);
                AddChildTreeViewNodes(treeViewData, newNode);//递归,绑定子节点
            }
        }

    数据表中记录通过ParentId字段指定父节点。

    详细介绍可以参考:《ASP.NET2.0揭秘卷1》

     树节点TreeNode的重要属性:

    Text:节点显示内容

    Value:节点对应值

    NavigateUrl:导航页面Url

    Target:目标框架

    ImageUrl:节点图像

  • 相关阅读:
    c++ fstream中seekg()和seekp()的用法
    java连接MySql数据库
    AspNetPager查询分页问题(点击页码,不再是查询后的数据集)viewstate解决
    C#操作XML文档
    关于PHP程序员解决问题的能力
    HDOJ 1874( dijkstra )
    错排问题 (Mathematics)
    中缀表达式到后缀表达式 (Data_Structure)
    几次到1(分治递归)
    max(int) = 0x7fffffff
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2346521.html
Copyright © 2011-2022 走看看