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:节点图像

  • 相关阅读:
    18、【opencv入门】形态学图像处理(一):开运算、闭运算、形态学梯度、顶帽、黑帽合辑
    17、【opencv入门】形态学图像处理(一):膨胀与腐蚀
    16、【opencv入门】创建Trackbar & 图像对比度、亮度值调整
    c++ 售货员的难题
    c++ 火柴棒等式
    c++ 素数圈
    c++ 分解数
    c++ 走迷宫
    c++ 二叉树遍历
    c++ n皇后问题
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2346521.html
Copyright © 2011-2022 走看看