`
water84222
  • 浏览: 375123 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ASP.NET TreeView操作实例(代码调试通过)

阅读更多

本实例完成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树型菜单操作实例(代码调试通过).doc

    本文将详细解析一个已完成代码调试的ASP.NET `TreeView`树型菜单操作实例,包括如何添加、修改、删除节点以及绑定`DropDownList`功能。 #### ASP.NET TreeView概述 `TreeView`控件允许用户以树状结构展示数据。每...

    asp.net(C#)无限极树实例

    ASP.NET(C#)无限极树结构在Web应用中经常用于展示层次化数据,例如组织结构、目录导航或数据库关系。这种技术允许用户以图形化方式查看具有任意深度的...通过实际操作和调试,可以加深对ASP.NET无限极树的理解和应用。

    ASP.NET 2.0 源代码

    在你拥有的"ASP.NET 2.0"源代码中,可能包含了这些特性在实际项目中的应用实例,这将是你学习和理解ASP.NET 2.0框架及其工作原理的宝贵资源。你可以通过分析这些源码,了解如何使用控件、数据源、母版页等功能,以及...

    asp.net实例(其中包含多种控件使用实例和网站制作教程)

    ASP.NET 是微软公司开发的一种用于构建...初学者可以通过这些实例来熟悉ASP.NET的工作原理,逐渐提升自己的编程技能。通过不断地实践和学习,将能更好地理解和运用ASP.NET的各个功能,从而成为一名熟练的Web开发者。

    ASP.Net 2.0 开发技术大全 -- 005

    这个"明日开发 配套电子书"很可能通过实例和案例深入讲解了这些概念,并提供了实践操作的指导,对于想要深入了解或提升ASP.NET 2.0开发技能的读者来说,是一个宝贵的资源。由于文件列表仅显示为"05",我们可以推测这...

    ASP.NET开发实战1200例(第II卷)第十三章.rar

    实际的学习中,开发者可以通过实例代码和视频教程深入理解每个知识点,并通过实践巩固技能。对于初学者,这是一条很好的学习路径;对于有经验的开发者,这样的实战案例也可以提供新的视角和技巧。

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...

    最新的c#,asp.net面试题

    - **TreeView 控件**: ASP.NET 中的 `TreeView` 控件用于显示层次结构的数据。 - 示例代码中清空了 `TreeView2` 的节点,并添加了一个新的节点。 - **C# 基础** - 示例代码中展示了如何在类 `A` 中定义一个静态...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    书中提供了大量的实例,可帮助读者快速掌握如何在.NET平台下开发功能强大的ASP.NET应用程序。本书适合有一些基础的ASP.NET初级程序员以及准备迁移到ASP.NET 2.0的编程老手。该书与《ASP.NET 2.0入门经典(第4版)》...

    asp.net技术内幕(1)

    操作XML &lt;br&gt;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.NET2book.rar

    根据压缩包内的“ASP.NET应用教程”,我们可以期待它会详细讲解以上这些概念,并通过实例演示如何在实际项目中应用它们。此外,还可能包含有关ASP.NET 2.0的开发环境设置、调试技巧、性能优化以及错误处理等内容。...

    零基础学ASP.NET.2.0动画教程

    本“零基础学ASP.NET.2.0动画教程”将通过生动的实例和动画演示,一步步带领初学者走进ASP.NET的世界,从基本语法到实际项目开发,全方位掌握这个强大的Web开发工具。通过学习,你可以创建功能丰富、交互性强的Web...

    Programming ASP.NET 2

    2. **跟踪和调试**:ASP.NET 2.0提供了强大的跟踪和调试工具,如Page Trace、Trace Viewer和Visual Studio的调试器,帮助开发者快速定位和解决问题。Page Trace可以记录页面生命周期的详细信息,而Trace Viewer则...

    ASP.NET 2.0 入门经典 源码 Part2

    本资源"ASP.NET 2.0 入门经典 源码 Part2"显然是一个教程或教材的源代码部分,帮助初学者通过实例学习ASP.NET 2.0的关键概念和技术。 在ASP.NET 2.0中,有几个核心知识点至关重要: 1. **页面生命周期**:ASP.NET...

    ASP.NET 2.0 Everyday Apps For Dummies

    8. **开发工具**:Visual Studio 2005是ASP.NET 2.0的主要开发环境,提供了强大的集成开发环境(IDE),包括代码编辑器、调试器和设计视图,极大地提高了开发效率。 9. **安全性**:ASP.NET 2.0内置了身份验证、...

    ASP.NET 2.0一书的光盘

    光盘中包含的源代码和数据库可能涵盖了ASP.NET 2.0的应用实例,这些实例可能涉及各种Web应用程序开发的技术,例如登录注册系统、购物车、论坛等。开发者可以通过学习和分析这些代码来提高自己的技能。 7. **学习...

    tree JS ASP.NET.zip

    例如,ASP.NET Web Forms中的TreeView控件可以直接在页面上渲染树结构,通过数据绑定技术如LINQ to SQL或Entity Framework从数据库获取层级数据。另外,ASP.NET MVC也可以通过自定义视图和模型来构建树形结构,利用...

    ASP.NET4高级程序设计(第4版) 3/3

     《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...

    ASP.NET+2.0编程珠玑--开发指南

    通过阅读这本书,开发者不仅能学习到ASP.NET 2.0的理论知识,还能通过实例了解到如何在实际项目中应用这些技术。书中的英文版和中文16章节内容,将为不同语言背景的读者提供便利,使他们能够更好地理解并掌握ASP.NET...

Global site tag (gtag.js) - Google Analytics