ASP.NET中treeview应用(用SQL作数据源)

这篇博客介绍了如何在ASP.NET中使用SQL数据库作为数据源创建TreeView控件。通过示例代码展示了如何从TREE_INFO表获取数据,并使用递归方法构建层次结构。文章详细讲解了页面和后台代码实现,包括数据连接、查询以及TreeNode的动态添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

treeview.aspx中代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="treeview.aspx.cs" Inherits="treeview" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TreeView ID="TreeView1" runat="server" ImageSet="Msdn" NodeIndent="10">
            <ParentNodeStyle Font-Bold="False" />
            <HoverNodeStyle BackColor="#CCCCCC" BorderColor="#888888" BorderStyle="Solid" Font-Underline="True" />
            <SelectedNodeStyle BackColor="White" BorderColor="#888888" BorderStyle="Solid" BorderWidth="1px"
                Font-Underline="False" HorizontalPadding="3px" VerticalPadding="1px" />
            <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px"
                NodeSpacing="1px" VerticalPadding="2px" />
        </asp:TreeView>
   
    </div>
    </form>
</body>
</html>

 

 


treeview.aspx.cs
中代码如下:


using System;
using System.Data;
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.Data.SqlClient;
public partial class treeview : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            TreeNode rootnode = new TreeNode();
            rootnode.Expanded = true;
            TreeView1.Nodes.Add(rootnode);
            CreateTree(0, rootnode);
        }
    }

    //新建树
    private void CreateTree(int belong,TreeNode rootnode)
    {
        SqlConnection con = new SqlConnection();
        con = db.createConncetion();
        string strbelong = belong.ToString();
        SqlCommand cmd = new SqlCommand("select * from TREE_INFO where parentId=" + strbelong, con);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        adapter.Fill(ds,"temp");
        foreach(DataRow dr in ds.Tables[0].Rows)
        {
            TreeNode treenode = new TreeNode();
            treenode.Text = dr["nodeName"].ToString().Trim();
            treenode.Expanded = true;
            rootnode.ChildNodes.Add(treenode);
            int id = int.Parse(dr["nodeId"].ToString().Trim());
            this.CreateTree(id, treenode);//
递归
        }
    }
}


数据库TREE_INFO中三个字段分别为nodeId(自增)nodeName,parentId.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值