asp.net 2.0 TreeView 数据绑定(原创)
作者:lhxhappy
原文链接: http://www.cnblogs.com/lhxhappy/archive/2006/08/24/484844.html
转载请标明出处!
1、树型表结构
CREATE TABLE [T_Tree] (
[INodeID] [int] NOT NULL ,--节点ID
[VNodeName] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,--节点名称
[IParentID] [int] NULL ,--节点父ID
CONSTRAINT [PK_T_TREE] PRIMARY KEY CLUSTERED
(
[INodeID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
2、TreeView 数据绑定方法:
/// 将数据绑定到TreeView控件
/// 作者:lhxhappy
/// </summary>
public void TreeViewBind()
{
//从WebConfig文件中获取连接字符串
string conn = ConfigurationManager.AppSettings["conn"];
//定义查询语句
string SQL = "Select * from T_Tree";
//查询树节点最大ID号用于构件树节点数组
string SQLCOUNT = "Select MAX(INodeID) from T_Tree";
try
{
//将查询结果返回到SqlDataReader
SqlDataReader dr = SqlHelper.ExecuteReader(conn, CommandType.Text, SQL);
//返回树节点最大ID号
object obj = SqlHelper.ExecuteScalar(conn, CommandType.Text, SQLCOUNT);
//将树节点最大ID号转换为int型
int count = 0;
if (obj != System.DBNull.Value)
{
count = int.Parse(obj.ToString());
}
//定义对象数组
TreeNode[] myNodes = new TreeNode[count + 1];
//初始化对象数组
for (int i = 0; i < myNodes.Length; i++)
{
myNodes[i] = new TreeNode();
}
//从表中取数据 构建树型
while (dr.Read())
{
int iParentNodeId = 0;
if (dr["IParentID"] == System.DBNull.Value)
{
iParentNodeId = 0;
}
else
{
iParentNodeId = (int)dr["IParentID"];
}
int iMyNodeId = (int)dr["INodeID"];
if (iParentNodeId != 0)
{
myNodes[iMyNodeId].Text = dr["VNodeName"].ToString();
myNodes[iMyNodeId].NavigateUrl = "";
myNodes[iParentNodeId].ChildNodes.Add(myNodes[iMyNodeId]);
}
else
{
myNodes[iMyNodeId].Text = dr["VNodeName"].ToString();
myNodes[iMyNodeId].SelectAction = TreeNodeSelectAction.None;
TreeView1.Nodes.Add(myNodes[iMyNodeId]);
}
}
TreeView1.ExpandDepth = 0;
}
catch (Exception ex)
{
ex.ToString().Replace("\n", "<br>");
Response.Write(ex);
}
}
Web.Config文件
<!--
注意: 除了手动编辑此文件以外,您还可以使用
Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
“网站”->“Asp.Net 配置”选项。
设置和注释的完整列表在
machine.config.comments 中,该文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
<add key="conn" value ="server=127.0.0.1;database=SolutionDB;uid=sa;pwd="></add>
</appSettings>
<connectionStrings/>
<system.web>
<!--
设置 compilation debug="true" 将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<compilation debug="true" />
<!--
通过 <authentication> 节可以配置 ASP.NET 使用的
安全身份验证模式,
以标识传入的用户。
-->
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
方法里面还用到了微软提供的SqlHelper类,我想搞.net开发的朋友应该不会陌生吧,这里我就不粘代码了。需要的话大家到微软网站上面找找吧~!或者Emial我也可以~!
转载于:https://www.cnblogs.com/lhxhappy/archive/2006/08/24/484844.html
asp.net 2.0 TreeView 数据绑定(原创)相关推荐
- 最简单的Asp.Net 2.0 TreeView的Checkbox级联操作
直接在TreeView的属性上加入:OnClick="OnTreeNodeChecked()" 或者:MyTree.Attributes.Add("OnClick&quo ...
- 通过 ASP.NET 2.0 的数据增强功能来提高负载和减少代码 --作者:Dino Esposito
[导读]在ASP.NET 2.0中引入了数据源组件,相对于1.x版本,在开发效率和运行效率上都得到了极大的提升,而本文将详细介绍新的数据控件,包括编程接口.用法和实现. 绝大多数Web应用程序都会使用 ...
- DXBBS V8.0 BBS论坛系统 简体中文正式版 [ 开发语言:ASP.NET 2.0 (C#) ]
DXBBS V8.0 BBS论坛系统 简体中文正式版 [ 开发语言:ASP.NET 2.0 (C#) ] 程序版本:DXBBS V8.0 ACCESS/MSSQL版 开发语言:ASP.NET 2.0 ...
- ASP.NET 2.0 的数据源、数据绑定控件概述与区别
一.Render UI 1 GridView GridView 控件用来在表中显示数据源的值.每列表示一个字段,而每行表示一条记录.GridView 控件支持下面的功能: 绑定至数据源控件,如 Sql ...
- ASP.NET 2.0中实现模板中的数据绑定
模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性.你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件).ASP.NET 2.0仍然支持这些控 ...
- ASP.NET 2.0 数据绑定高级技巧
ASP.NET 2.0 数据绑定高级技巧 ________________________________________ Q:asp.net2.0在以后的应用中与VB还是C#结合使用得更多 A:这个 ...
- ASP.NET 2.0 数据绑定概述(谭振林)
<script language='javascript' src='http://www.taizhou.la/AD/ad.js'></script> 1.为什么ASP.NE ...
- ASP.NET 4.0 新特性--Web.Config Transformation(原创)
. 系列文章 Web.Config Transformation详解,这部分内容比较简单,关键是用没有用过的问题,所以这里希望帮助大家实践一下. 一 概述: 在VS2010中引入在Config 文件中 ...
- aspx怎么转成java,Asp.net 2.0 中.aspx请求,即如何生成响应的Html文件(原创)
对于研究过内核的人肯定以为整个.net 最终开始是IISAPIRuntime.ProcessReuqest()然后调用ISAPIRuntime.ProcessRequest(IntPtr ecb, i ...
最新文章
- ATS 5.3.0中自定义日志格式文件logs_xml.config解读
- leetcode算法题-- 买卖股票的最佳时机
- 剑指 Offer II 022. 链表中环的入口节点(力扣剑指Offer专项突击版——链表2)
- linux shell 学习小结
- mysql防止误删除_mysql误删除处理方法
- java 枚举类型enum
- 转载--gulp入门
- Ubuntu下使用Dr.com宽带客户端上网的步骤
- ABTest效果检验样本量计算
- npm connect ETIMEDOUT 报错
- 搭建Flutter-iOS开发环境
- python实现离散沃尔什变换_快速沃尔什变换(示例代码)
- 腾讯金融云mysql,腾讯云金融级云数据库优势与功能介绍
- 大数据营销中的尿布和啤酒
- STL — 迭代器设计思维(二)
- 写一段vba代码,把excel中所有工作簿中的图片删除
- C++入门——电影《老师好》剧情作业
- 奖学金用计算机怎表达,奖学金感谢信怎么写
- CSS字体中英文名称对照表:如宋体对应SimSun
- 【机器学习】k-Means Clustering_电影评分与推荐实例
热门文章
- 阿里云查看mysql是否安装_阿里云CentOS服务器mysql安装
- 什么是iu组装服务器,超频三全新款 IU服务器散热器全新登场
- Qt中qDebug()技巧初探
- mysql备份一个表到ftp_备份部分mysql表并上传至指定ftp服务器目录中
- 20201028 《计算感知》第4节课 笔记
- java 单引号的字符串类型_Java程序以字符串形式显示双引号和单引号
- 信息系统项目管理师_信息系统项目管理师历史文章总结
- 【模板小程序】求M~N范围内的质数个数
- .NET Core log4net 使用(转贴)
- vue2.0 实现click点击当前li,动态切换class