ASP.NET TreeView控件的使用

<asp:TreeView ID="TreeView2" runat="server"></asp:TreeView>

数据库:

前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="TreeView.index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
<h2>上面是视图中编辑,下面是代码中添加</h2>
<asp:TreeView ID="TreeViewdb" runat="server"></asp:TreeView>
<h2>下面是代码中通过数据库添加</h2>
<asp:TreeView ID="TreeView2" runat="server"></asp:TreeView>
</div>
</form>
</body>
</html>

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using BLL;
namespace TreeView
{
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.TreeViewdb.Dispose();//清理
TreeNodeCollection tnc = this.TreeViewdb.Nodes;//表示根结点集合
TreeNode tnNodel = new TreeNode();
tnNodel.Text = "这是一个根结点";
tnc.Add(tnNodel);
TreeNode t2 = new TreeNode();
t2.Text = "这是第二个根结点";
tnc.Add(t2);
//
TreeNode tnNode1 = new TreeNode();
tnNode1.Text = "这是根结点的子节点";
tnNodel.ChildNodes.Add(tnNode1);
/******************************************************
* DataSet DataTable DataView
* 都是二维的表格,DataSet是数据库查询出来的,结果集
* 可以多个表格,(返回多张表),就是 .Table["表名"]或者 .Table["0"]或者.Table["1"]
* 一般来说 不管是单表查询还是多表查询 最后结果都是一张表所以 就 .Table["0"]就够用了
* DataTable dtb= DataSet.Table["0"]
* DataView .Table=dtb
* 关于 .RowFilter="string",这里是过滤 一部分,这里面是条件 就像SQL查询
*
* **********************************************/

///////
InitTree(this.TreeView2.Nodes, "0");
}
}
/// <summary>
/// 递归初始化TreeView
/// </summary>
/// <param name="tnc">结点集合</param>
/// <param name="parentid">父节点id</param>
private void InitTree(TreeNodeCollection tnc, string parentid)
{
TreeNode node;
DataView dv = new DataView();
//绑定(把DataSe中的Table[0] 绑定到 DataView上,进行筛选)
dv.Table = BLL.UserBLL.allNodes();
//筛选出 对应属性,(父节点id 符合),其余去掉。
dv.RowFilter = "ParentNodeId=" + parentid; //
foreach (DataRowView drv in dv)
{
// DataRowView一行
node = new TreeNode();
node.Value = drv["NodeId"].ToString();
node.Text = drv["DisplayName"].ToString();
//把新结点递添加到结点集合上去
tnc.Add(node);
//递归
InitTree(node.ChildNodes, node.Value);
}
}
}
}

SysFun.cs (Model)

using System;
using System.Collections.Generic;
using System.Text;

namespace Model
{
/// <summary>
/// TreeView的结点 类
/// </summary>
public class SysFun
{
private int nodeId;
private string displayName;
private string nodeUrl;
private string parentNodeId;

public int NodeId { get => nodeId; set => nodeId = value; }
public string DisplayName { get => displayName; set => displayName = value; }
public string NodeUrl { get => nodeUrl; set => nodeUrl = value; }
public string ParentNodeId { get => parentNodeId; set => parentNodeId = value; }
}
}

————————————————
版权声明:本文为CSDN博主「涵涵YH」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012997311/article/details/78404483

原文地址:https://www.cnblogs.com/ljs-13/p/12157933.html

时间: 2024-10-28 10:20:47

ASP.NET TreeView控件的使用的相关文章

ASP.NET TreeView控件父子勾选框联动勾选

摘要:ASP.NET TreeView控件父子勾选框联动勾选 后置代码: this.TreeView1.Attributes.Add("onclick", "CheckEvent();"); JS 代码: function setParentState(objNode) { ?? var objParentDiv = WebForm_GetParentByTagName(objNode, "div"); ?? if (objParentDiv =

ASP.NET - TreeView控件,只操作最后一级节点

效果: 绑定TreeView控件:http://www.cnblogs.com/KTblog/p/4792302.html 主要功能: 点击节点的时候,只操作最后一级的节点,其他节点跳过不执行代码. 代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Data; 4 using System.Data.SqlClient; 5 using System.Web.UI.WebControls; 6 7 nam

asp.net TreeView控件绑定数据库显示信息

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Data; 8 using System.Data.SqlClient; 9 using System.Configuration; 10 11 public part

脚本全选全不选操作asp.net treeview控件

1 //树节点勾选(取消)上级自动全部勾选(取消)下级,勾选下级自动勾选上级,取消全部下级,自动取消上级 2 3 //事件响应函数 4 var HandleCheckbox = function () { 5 //取得事件触发的元素,因为只要点了树控件,就会触发这个函数,所以须判断:只有点击checkbox时才继续 6 var element = event.srcElement; 7 if (element.tagName == "INPUT" && element.

ASP.NET用递归法绑定Treeview控件

1.代码如下: private void Form1_Load(object sender, EventArgs e) { treeView1.Nodes.Clear();//清空 树的所有节点 List<T_NavigationModel> Fnods = new T_NavigationBLL().GetModelList("Npid=0");//获取所有根节点 if (Fnods.Count <= 0)//判断要添加的节点个数是否为0,为0则取消 return;

TreeView控件绑定数据库

1.在设计视图里面的代码 <form id="form1" runat="server"> <div> <h1>两个表</h1> <asp:TreeView ID="TreeView1" runat="server"> <HoverNodeStyle Font-Underline="true" ForeColor="Window&q

ASP.NET_验证控件(class0620)

为什么使用验证控件 当需要让用户输入数据时,用户有可能输入不符合我们程序逻辑要求的信息,所以我们要对输入进行验证. 客户端验证(用户体验,减少服务器端压力) 服务器端验证(防止恶意攻击,客户端js很容易就可以被绕过) 必须要对用户输入的数据进行合法性校验,这些校验逻辑很多是重复的,比如字段不能为空.必须为日期格式.数字不能大于100等,而且要同时在客户端和服务器端校验. 验证控件 ASP.Net提供了如下的控件: RequiredFieldValidator:字段必填: RangeValidat

Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Windows.h> #include <WindowsX.h> #include <CommCtrl.h> #include "resource.h" #pragma comment (lib,"comctl32.lib") BOOL InitT

初始ASP.NET数据控件【续 ListView】

ListView控件   ListView控件可以用来显示数据,它还提供编辑,删除,插入,分页与排序等功能.ListView是GridView与DataList的融合体,它具有GridView控件编辑数据的功能同时还具有DataList控件的灵活布局的功能.ListView控件的分页功能需要通过DataPager控件来实现. ListView控件的模版 LayoutTemplate:标识定义控件的主要布局的根模版.包含一个占位符对象,如表行(tr),div,span元素.此元素将由ItemTem