ASP.NET TreeView操作实例
.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操作实例相关推荐
- ASP.NET 文件操作实例
//文件使用FileUpload打开 if (FileUpload1.HasFile) { try { //流读取 ...
- .ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...
ASP.NET MVC4数据库操作实例 之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器.方法.模型.视图等.并使用实例进行了简单说明.本文将在此基础上进一步说明如何使用MV ...
- python数值运算实例_Python矩阵常见运算操作实例总结
本文实例讲述了Python矩阵常见运算操作.分享给大家供大家参考,具体如下: python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 一.numpy的导入 ...
- html自定义datajs,科技常识:HTML5的自定义属性data-*详细介绍和JS操作实例
今天小编跟大家讲解下有关HTML5的自定义属性data-*详细介绍和JS操作实例 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5的自定义属性data-*详细介绍和JS操作实例 的 ...
- CentOS 配置防火墙操作实例(启、停、开、闭端口)
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables s ...
- 【译】在Asp.Net中操作PDF – iTextSharp -利用块,短语,段落添加文本
本篇文章是讲述使用iTextSharp这个开源组件的系列文章的第三篇,iTextSharp可以通过Asp.Net创建PDFs,就像HTML和ASP.Net为文本提供了多种容器一样,iTextSharp ...
- c 获取当前时间插入oracle数据库,Oracle如何获取系统当前时间等操作实例,c++获取系统时间...
Oracle如何获取系统当前时间等操作实例,c++获取系统时间 获取系统当前时间 date类型的 select sysdate from dual; char类型的 select to_char(sy ...
- php扇形分布图,PHP制作3D扇形统计图以及对图片进行缩放操作实例
这篇文章主要介绍了PHP制作3D扇形统计图以及对图片进行缩放操作实例,需要的朋友可以参考下 1.利用php gd库的函数绘制3D扇形统计图 header("content-type" ...
- legend3---lavarel多对多模型操作实例
legend3---lavarel多对多模型操作实例 一.总结 一句话总结: 在多对多模型中,增加关系表的数据 需要 弄一个和关系表一对多的模型关系 1.在lavarel关系模型中,课程和标签表是多对 ...
- 后盾网lavarel视频项目---lavarel多表关联一对多操作实例
后盾网lavarel视频项目---lavarel多表关联一对多操作实例 一.总结 一句话总结: 1.一对多中多那个部分的数据前端通过json弄到服务器 2.所有通过一操作多的时候,都要用上模型中定义的 ...
最新文章
- 全球数据进入ZB时代,希捷如何让数据创造深价值?
- 顺序队列之C++实现
- RxSwift处理Error事件
- 实现DDD领域驱动设计: Part 2
- 数据库事务(Database Transaction)
- 信息学奥赛C++语言: 求正整数2和n之间的完全数
- java二级分销排行统计_直播分销系统排行
- 以太坊代码标准是什么_以太坊:什么是ERC20标准?
- 国家广电总局:立即停播“椰树牌椰汁”等部分版本广告
- 别扭!iPhone XI Max渲染图曝光:后置超大方形3摄
- IntelliJ Idea学习笔记004---IDEA中maven没有了
- 聊聊spring for kafka对consumer的封装与集成
- TOM邮箱,那个陪我走过20多年的邮箱
- 【错误记录】python不常用的一个小操作:安装pip
- LaTeX 插入图片 公式
- 补充学习2021.7.21—动态水波进度条
- CodeIgniter 源码解读之模型
- sql server 2008 r2 忘记sa密码, 没有window账户登录, 解决办法
- 中国SAP顾问在美国的跳槽经历
- revit插件建模助手的【快速工具箱】功能
热门文章
- jquery中object对象循环遍历的方法
- config.guess: unable to guess system type、config.sub: missing argument
- 2021-0316:梦中明白在作梦
- WORD中如何转换符号的全角半角
- SVN中,A项目如何共享B项目的内容
- 世界首次发现?包名导致eclipse找不到包含main的类
- 无锡鼋头渚樱花颜色单调
- Linux下网络通信
- c++ extern学习
- phython在file同时写入两个_Python实现读取excel写入mysql的小工具详解