本实例完成TreeView添加修改功能删除绑定DropDownList移动功能续写

.aspx代码

<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE id="Table1" cellSpacing="1" cellPadding="1"

;700" border="1">
<TR>
<TD style=" 168px"></TD>
<TD>TreeView操作实例</TD>
</TR>
<TR>
<TD style=" 168px" vAlign="top">
<iewc:TreeView id="TreeView1"

runat="server"></iewc:TreeView></TD>
<TD vAlign="top">
<TABLE id="Table2" cellSpacing="1"

cellPadding="1" ;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=" 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("不能删除根节点");
}
}

转载于:https://blog.51cto.com/515632/785527

ASP.NET TreeView操作实例相关推荐

  1. ASP.NET 文件操作实例

    //文件使用FileUpload打开 if (FileUpload1.HasFile)         {             try             { //流读取            ...

  2. .ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...

    ASP.NET MVC4数据库操作实例 之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器.方法.模型.视图等.并使用实例进行了简单说明.本文将在此基础上进一步说明如何使用MV ...

  3. python数值运算实例_Python矩阵常见运算操作实例总结

    本文实例讲述了Python矩阵常见运算操作.分享给大家供大家参考,具体如下: python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 一.numpy的导入 ...

  4. html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例

    今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的 ...

  5. CentOS 配置防火墙操作实例(启、停、开、闭端口)

          CentOS 配置防火墙操作实例(启.停.开.闭端口):   注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service   iptables s ...

  6. 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本

    本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过Asp.Net创建PDFs,就像HTML和ASP.Net为文本提供了多种容器一样,iTextSharp ...

  7. c 获取当前时间插入oracle数据库,Oracle如何获取系统当前时间等操作实例,c++获取系统时间...

    Oracle如何获取系统当前时间等操作实例,c++获取系统时间 获取系统当前时间 date类型的 select sysdate from dual; char类型的 select to_char(sy ...

  8. php扇形分布图,PHP制作3D扇形统计图以及对图片进行缩放操作实例

    这篇文章主要介绍了PHP制作3D扇形统计图以及对图片进行缩放操作实例,需要的朋友可以参考下 1.利用php gd库的函数绘制3D扇形统计图 header("content-type" ...

  9. legend3---lavarel多对多模型操作实例

    legend3---lavarel多对多模型操作实例 一.总结 一句话总结: 在多对多模型中,增加关系表的数据 需要 弄一个和关系表一对多的模型关系 1.在lavarel关系模型中,课程和标签表是多对 ...

  10. 后盾网lavarel视频项目---lavarel多表关联一对多操作实例

    后盾网lavarel视频项目---lavarel多表关联一对多操作实例 一.总结 一句话总结: 1.一对多中多那个部分的数据前端通过json弄到服务器 2.所有通过一操作多的时候,都要用上模型中定义的 ...

最新文章

  1. 全球数据进入ZB时代,希捷如何让数据创造深价值?
  2. 顺序队列之C++实现
  3. RxSwift处理Error事件
  4. 实现DDD领域驱动设计: Part 2
  5. 数据库事务(Database Transaction)
  6. 信息学奥赛C++语言: 求正整数2和n之间的完全数
  7. java二级分销排行统计_直播分销系统排行
  8. 以太坊代码标准是什么_以太坊:什么是ERC20标准?
  9. 国家广电总局:立即停播“椰树牌椰汁”等部分版本广告
  10. 别扭!iPhone XI Max渲染图曝光:后置超大方形3摄
  11. IntelliJ Idea学习笔记004---IDEA中maven没有了
  12. 聊聊spring for kafka对consumer的封装与集成
  13. TOM邮箱,那个陪我走过20多年的邮箱
  14. 【错误记录】python不常用的一个小操作:安装pip
  15. LaTeX 插入图片 公式
  16. 补充学习2021.7.21—动态水波进度条
  17. CodeIgniter 源码解读之模型
  18. sql server 2008 r2 忘记sa密码, 没有window账户登录, 解决办法
  19. 中国SAP顾问在美国的跳槽经历
  20. revit插件建模助手的【快速工具箱】功能

热门文章

  1. jquery中object对象循环遍历的方法
  2. config.guess: unable to guess system type、config.sub: missing argument
  3. 2021-0316:梦中明白在作梦
  4. WORD中如何转换符号的全角半角
  5. SVN中,A项目如何共享B项目的内容
  6. 世界首次发现?包名导致eclipse找不到包含main的类
  7. 无锡鼋头渚樱花颜色单调
  8. Linux下网络通信
  9. c++ extern学习
  10. phython在file同时写入两个_Python实现读取excel写入mysql的小工具详解