本实例完成TreeView添加修改功能删除绑定DropDownList移动功能续写
.aspx代码
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" cellSpacing="1" cellPadding="1"
width="700" border="1">
<TR>
<TD style="WIDTH: 168px"></TD>
<TD>TreeView操作实例</TD>
</TR>
<TR>
<TD style="WIDTH: 168px" vAlign="top">
<iewc:TreeView id="TreeView1"
runat="server"></iewc:TreeView></TD>
<TD vAlign="top">
<TABLE id="Table2" cellSpacing="1"
cellPadding="1" width="100%" border="0">
<TR>
<TD>节点名
<asp:TextBox
id="TextBox1" runat="server"></asp:TextBox></TD>
</TR>
<TR>
<TD>
<asp:Button
id="addButton" runat="server" Text="添 加"></asp:Button>
<asp:Button
id="editButton" runat="server" Text="修 改"></asp:Button>
<asp:Button
id="delButton" runat="server" Text="删 除"></asp:Button></TD>
</TR>
<TR>
<TD>移动节点</TD>
</TR>
<TR>
<TD>要移动到的节点
<asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList></TD>
</TR>
<TR>
<TD>
<asp:Button
id="moveButton" runat="server" Text="移 动"></asp:Button></TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD style="WIDTH: 168px"></TD>
<TD></TD>
</TR>
</TABLE>
</FONT>
</form>
.aspx.cs代码
using Microsoft.Web.UI.WebControls;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack){
Button del=new Button();
del=(Button)Page.FindControl("delButton");
del.Attributes.Add("onclick","return confirm('确定删除');");
showlist();
}
}
private void showlist(){
//绑定TreeView
//infobase io=new infobase();
DropDownList1.Items.Clear();
ListItem list=new ListItem();
list.Value="0";
list.Text="全部类别";
DropDownList1.Items.Add(list);
//添加根节点
TreeView1.Nodes.Clear();
TreeNode node=new TreeNode();
node.Text="类别列表";
node.Target="0";
node.Expanded=true;
TreeView1.Nodes.Add(node);
treeShow(0,node);
TreeView1.DataBind();
}
private void treeShow(int parterid,TreeNode treenode){//递归类别
//
DataSet ds=returnDataset(parterid);
if (ds!=null)
{
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
TreeNode node=new TreeNode();
node.Target=ds.Tables[0].Rows[i]["id"].ToString();
node.Text=ds.Tables[0].Rows[i]["name"].ToString();
treenode.Nodes.Add(node);
node.Expanded=true;
DataSet ds2=returnDataset(Int32.Parse(ds.Tables
[0].Rows[i]["id"].ToString()));
if (ds2.Tables[0].Rows.Count>0)
{
treeShow(Int32.Parse(ds.Tables[0].Rows[i]
["id"].ToString()),node);
}
}
}
}
private DataSet returnDataset(int parterid){
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data
source="+Server.MapPath("Data.mdb");
OleDbDataAdapter cmd;
DataSet ds=new DataSet();
try
{
conn.Open();
cmd=new OleDbDataAdapter("select * from treeview where
parterid="+parterid+" order by createtime asc",conn);
cmd.Fill(ds);
}
catch(Exception ex)
{
Response.Write(ex.ToString());
Response.End();
}
finally{
conn.Dispose();
}
return ds;
}
private void addButton_Click(object sender, System.EventArgs e)
{//添加节点
if (TextBox1.Text!="")
{
TreeNode treenode=TreeView1.GetNodeFromIndex
(TreeView1.SelectedNodeIndex);
string[] treedepth=treenode.GetNodeIndex().Split('.');
if(treenode.Target!=null)
{
int depth=treedepth.Length-1;//获得深度
int parterid=Int32.Parse(treenode.Target);//获得父类
ID
string classname=TextBox1.Text;//获得类名
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath
("Data.mdb");
conn.Open();
OleDbCommand cmd=new OleDbCommand();
cmd.CommandType=CommandType.Text;
cmd.Connection=conn;
cmd.CommandText="insert into treeview
(name,parterid,depth)values('"+classname+"',"+parterid+","+depth+")";
try
{
cmd.ExecuteNonQuery();
Response.Write("<script>alert('添加成
功');location.href='TreeViewStudy.aspx';</script>");
Response.End();
}
catch(Exception ex)
{
Response.Write(ex.ToString());
Response.End();
}
finally
{
cmd.Dispose();
conn.Dispose();
}
}
else{
//Response.Write(treenode.Target+"123<br>");
}
}
else{
Response.Write("请填写类别并选择节点");
}
}
private void editButton_Click(object sender, System.EventArgs e)
{//修改节点
if (TextBox1.Text!="")
{
TreeNode treenode=TreeView1.GetNodeFromIndex
(TreeView1.SelectedNodeIndex);
int id=Int32.Parse(treenode.Target);
string classname=TextBox1.Text;
if(treenode.Target!=null)
{
OleDbConnection conn=new OleDbConnection();
conn.ConnectionString="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath
("Data.mdb");
conn.Open();
OleDbCommand cmd=new OleDbCommand();
cmd.CommandType=CommandType.Text;
cmd.Connection=conn;
cmd.CommandText="update treeview set
name='"+classname+"' where id="+id;
try
{
cmd.ExecuteNonQuery();
Response.Write("<script>alert('修改成
功');location.href='TreeViewStudy.aspx';</script>");
Response.End();
}
catch(Exception ex)
{
Response.Write(ex.ToString());
Response.End();
}
finally
{
cmd.Dispose();
conn.Dispose();
}
}
else{}
}
else
{
Response.Write("请填写类别并选择节点");
}
}
private void delButton_Click(object sender, System.EventArgs e)
{//删除
TreeNode treenode=TreeView1.GetNodeFromIndex
(TreeView1.SelectedNodeIndex);
int id=Int32.Parse(treenode.Target);
if (treenode.Target!="0")
{
}
else{
Response.Write("不能删除根节点");
}
}
分享到:
相关推荐
本文将详细解析一个已完成代码调试的ASP.NET `TreeView`树型菜单操作实例,包括如何添加、修改、删除节点以及绑定`DropDownList`功能。 #### ASP.NET TreeView概述 `TreeView`控件允许用户以树状结构展示数据。每...
ASP.NET(C#)无限极树结构在Web应用中经常用于展示层次化数据,例如组织结构、目录导航或数据库关系。这种技术允许用户以图形化方式查看具有任意深度的...通过实际操作和调试,可以加深对ASP.NET无限极树的理解和应用。
在你拥有的"ASP.NET 2.0"源代码中,可能包含了这些特性在实际项目中的应用实例,这将是你学习和理解ASP.NET 2.0框架及其工作原理的宝贵资源。你可以通过分析这些源码,了解如何使用控件、数据源、母版页等功能,以及...
ASP.NET 是微软公司开发的一种用于构建...初学者可以通过这些实例来熟悉ASP.NET的工作原理,逐渐提升自己的编程技能。通过不断地实践和学习,将能更好地理解和运用ASP.NET的各个功能,从而成为一名熟练的Web开发者。
这个"明日开发 配套电子书"很可能通过实例和案例深入讲解了这些概念,并提供了实践操作的指导,对于想要深入了解或提升ASP.NET 2.0开发技能的读者来说,是一个宝贵的资源。由于文件列表仅显示为"05",我们可以推测这...
实际的学习中,开发者可以通过实例代码和视频教程深入理解每个知识点,并通过实践巩固技能。对于初学者,这是一条很好的学习路径;对于有经验的开发者,这样的实战案例也可以提供新的视角和技巧。
ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...
- **TreeView 控件**: ASP.NET 中的 `TreeView` 控件用于显示层次结构的数据。 - 示例代码中清空了 `TreeView2` 的节点,并添加了一个新的节点。 - **C# 基础** - 示例代码中展示了如何在类 `A` 中定义一个静态...
书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》...
操作XML <br>13.1 XML类概述 13.2 通过DataSet使用XML 13.2.1 将XML文档读入DataSet 13.2.2 通过ReadXml使用模式 13.2.3 从DataSet写XML文档 13.2.4 通过DataSet使用XMLData Documents ...
根据压缩包内的“ASP.NET应用教程”,我们可以期待它会详细讲解以上这些概念,并通过实例演示如何在实际项目中应用它们。此外,还可能包含有关ASP.NET 2.0的开发环境设置、调试技巧、性能优化以及错误处理等内容。...
本“零基础学ASP.NET.2.0动画教程”将通过生动的实例和动画演示,一步步带领初学者走进ASP.NET的世界,从基本语法到实际项目开发,全方位掌握这个强大的Web开发工具。通过学习,你可以创建功能丰富、交互性强的Web...
2. **跟踪和调试**:ASP.NET 2.0提供了强大的跟踪和调试工具,如Page Trace、Trace Viewer和Visual Studio的调试器,帮助开发者快速定位和解决问题。Page Trace可以记录页面生命周期的详细信息,而Trace Viewer则...
本资源"ASP.NET 2.0 入门经典 源码 Part2"显然是一个教程或教材的源代码部分,帮助初学者通过实例学习ASP.NET 2.0的关键概念和技术。 在ASP.NET 2.0中,有几个核心知识点至关重要: 1. **页面生命周期**:ASP.NET...
8. **开发工具**:Visual Studio 2005是ASP.NET 2.0的主要开发环境,提供了强大的集成开发环境(IDE),包括代码编辑器、调试器和设计视图,极大地提高了开发效率。 9. **安全性**:ASP.NET 2.0内置了身份验证、...
光盘中包含的源代码和数据库可能涵盖了ASP.NET 2.0的应用实例,这些实例可能涉及各种Web应用程序开发的技术,例如登录注册系统、购物车、论坛等。开发者可以通过学习和分析这些代码来提高自己的技能。 7. **学习...
例如,ASP.NET Web Forms中的TreeView控件可以直接在页面上渲染树结构,通过数据绑定技术如LINQ to SQL或Entity Framework从数据库获取层级数据。另外,ASP.NET MVC也可以通过自定义视图和模型来构建树形结构,利用...
《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...
通过阅读这本书,开发者不仅能学习到ASP.NET 2.0的理论知识,还能通过实例了解到如何在实际项目中应用这些技术。书中的英文版和中文16章节内容,将为不同语言背景的读者提供便利,使他们能够更好地理解并掌握ASP.NET...