ASP NET+TreeView树型菜单操作实例(代码调试通过)

合集下载

ASP.NET中文件目录的读取及显示方法

ASP.NET中文件目录的读取及显示方法
int pid =f ilelD++;
if (rdFile) { Filelnfo [] f ilelnfo=dirinfo.GetFiles 0 ; ,,获得 目录下 的文件 fomach (Filelnfo f lnfo in f ilelnfo) {
作者简介 :叶笠 (1972一),男 ,高级工 程师 ,研 究方 向 :计 算机 软件 、信息安全 ;谭飞 ,高级工程师。
entid”,typeof(int))); dtFile.Column s.Add (new DataColumn(” fiIe—
n am e ” , typeof(str ing))); d le.Column s.Add (new DataColumn (” full-
n am e” , typeof(string))); DataRow dr:dtFile.NewRow 0 ; dr【0】 =fileID++; dr【1】 =0; dr【2】 =thisOne.Name.ToString 0 ; dr[3】 =thisOne.FullName.ToString (); d le.Rows.Add (dr); Lis les(thisOne,l,dtFile,rdFile); return dtFile;
} private void ListFiles (Directorylnfo theDir,int parent_id, DataTable dt,bool rdFile),/递归 目录、文件

D ataRow dr;
Directorylnfo 【】 subDirectories = theDir.GetDi- rectories 0 获得 目录
public DataTable GetFiles(string path,bool rdFile) { Directorylnfo thisOne:new Directorylnfo(path);

ASP.NET中TreeView控件的动态绑定及定位展开

ASP.NET中TreeView控件的动态绑定及定位展开
方 法 / 件 事 N
o e ds
用比较广 泛 , 如计 算 机 的资 源 管理 器、 司 组织 结 构 公 等 。在 We b开发 中常利 用独 立 的树形 控件 进 行树
形 图 的开 发 , 在 页 面 常 充 当导 航 器 的作 用 。而 在 实 其
说 明 获 取 Te N d re o e对 象 的 集 合 , 表 示 它 Te V w 控 件 中根 节点 re i e
际使 用中 , 多情况下 需要 将树形控件 与数据 库进行 很 连接 , 进行动态绑 定显示 节点及增 删节 点。本文 中所 举的例子是在 V 2 0 E S 0 5I 环境 中 用 V D B语 言进行 开发 的 ,s0 0 V 2 o 5已经集成 了 Te V w树形控件 , re e i 使用起 来
1 实践经验 Pata Eprne 2 1 r i l xeec cc i
维普资讯
20 年 第 6 期 08
计 算 机 系 统 应 用
表 3 t e o e l ro e表 r n d / an d e e
字段名 数据类型 I D Ie e n gr t 描述 节点 I 自增 ) 主键 ) D( ( 父节点 I( D 根节 点的此值定 为 0 ) 节点深度 ( 根节点深度为 0)
维普资讯
计 算 机 系 统 应 用
2 0 年 第 6 期 08
AS . T中 T e Ve 控件 的动态绑定及定位展开 P NE re i w
Dy a i n i g a d P sto i g a o tTr e e Co tol n rASP NE n m c Bi d n n o ii n n b u e Viw n r de u . T 浮光宾 王葵如 张 明伦 ( 京邮电大 学 光通信 与光波技术教育部重点实验 室 北京 10 7 ) 北 0 8 6

移动端实现树级菜单的方法

移动端实现树级菜单的方法

移动端实现树级菜单的方法全文共四篇示例,供读者参考第一篇示例:在移动端开发中,实现树级菜单是一项常见且重要的任务。

在移动设备上,由于屏幕空间有限,设计和实现树级菜单需要考虑到用户体验和界面布局的限制。

本文将介绍一些常见的方法和技巧来实现移动端的树级菜单。

一、使用折叠菜单折叠菜单是一种常见的树级菜单设计模式,适用于移动设备上的界面。

在折叠菜单中,每个父级菜单项下面可以展开或折叠多个子级菜单项,用户可以点击父级菜单项来展开或折叠子级菜单项。

这种设计模式节省了屏幕空间,并且用户可以方便地浏览和操作树状结构的数据。

在实现折叠菜单时,可以使用HTML、CSS和JavaScript来构建。

可以使用HTML的ul和li标签来表示菜单的层级结构,使用CSS样式来控制菜单的外观和布局,使用JavaScript来添加交互效果和实现菜单的展开和折叠功能。

通过合理的布局和样式设计,可以在移动设备上呈现出清晰、易用的树级菜单。

二、利用滑动菜单在实现滑动菜单时,可以利用现有的移动端UI框架或库来快速实现。

一些流行的移动端UI框架,如jQuery Mobile、Ionic等,提供了丰富的界面组件和交互效果,可以帮助开发人员快速构建滑动菜单。

通过合理的布局和交互设计,可以让滑动菜单在移动设备上呈现出流畅、直观的用户体验。

三、响应式设计在设计移动端树级菜单时,需要考虑到不同设备屏幕大小和分辨率的差异。

为了适应不同尺寸的移动设备,可以使用响应式设计的技术来实现自适应的界面布局。

通过使用CSS媒体查询和弹性布局等技术,可以让树级菜单在不同尺寸的屏幕上自动调整布局和样式,确保用户在任何设备上都能够方便地访问和操作菜单。

在移动端实现树级菜单时,需要综合考虑用户体验、界面设计和技术实现等多方面因素。

通过选择合适的设计模式、利用现有的UI框架和工具、采用响应式设计等方法,可以实现一个优秀的移动端树级菜单,为用户提供更好的导航和操作体验。

希望本文介绍的方法和技巧能够帮助开发人员更好地实现移动端树级菜单。

TreeView控件添加、删除、重命名、上移、下移节点

TreeView控件添加、删除、重命名、上移、下移节点

TreeView控件添加、删除、重命名、上移、下移节点Public Class Form1Inherits System.Windows.Forms.Form#Region " Windows 窗体设计器生成的代码 "Public Sub New()MyBase.New()'该调用是 Windows 窗体设计器所必需的。

InitializeComponent()'在 InitializeComponent() 调用之后添加任何初始化End Sub'窗体重写 dispose 以清理组件列表。

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)If disposing ThenIf Not (components Is Nothing) Thencomponents.Dispose()End IfEnd IfMyBase.Dispose(disposing)End Sub'Windows 窗体设计器所必需的Private components As ponentModel.IContainer '注意: 以下过程是 Windows 窗体设计器所必需的'可以使用 Windows 窗体设计器修改此过程。

'不要使用代码编辑器修改它。

Friend WithEvents TreeView1 As System.Windows.Forms.TreeViewFriend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenuFriend WithEvents createItems As System.Windows.Forms.MenuItemFriend WithEvents renameItems As System.Windows.Forms.MenuItemFriend WithEvents delSelectedNode As System.Windows.Forms.MenuItemFriend WithEvents newRootNode As System.Windows.Forms.MenuItemFriend WithEvents PreSelectedNode As System.Windows.Forms.MenuItemFriend WithEvents NextSelectedNode As System.Windows.Forms.MenuItem<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Me.TreeView1 = New System.Windows.Forms.TreeViewMe.ContextMenu1 = New System.Windows.Forms.ContextMenuMe.newRootNode = New System.Windows.Forms.MenuItem Me.createItems = New System.Windows.Forms.MenuItemMe.renameItems = New System.Windows.Forms.MenuItem Me.delSelectedNode = New System.Windows.Forms.MenuItemMe.PreSelectedNode = New System.Windows.Forms.MenuItemMe.NextSelectedNode = New System.Windows.Forms.MenuItemMe.SuspendLayout()''TreeView1'Me.TreeView1.ContextMenu = Me.ContextMenu1Me.TreeView1.Dock = System.Windows.Forms.DockStyle.LeftMe.TreeView1.ImageIndex = -1belEdit = TrueMe.TreeView1.Location = New System.Drawing.Point(0, 0) = "TreeView1"Me.TreeView1.Nodes.AddRange(NewSystem.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("节点0", New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("节点2", New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("节点3")})}), New System.Windows.Forms.TreeNode("节点1")})Me.TreeView1.SelectedImageIndex = -1Me.TreeView1.Size = New System.Drawing.Size(121, 273)Me.TreeView1.TabIndex = 0''ContextMenu1'Me.ContextMenu1.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.newRootNode, Me.createItems, Me.renameItems, Me.delSelectedNode, Me.PreSelectedNode, Me.NextSelectedNode})''newRootNode'Me.newRootNode.Index = 0Me.newRootNode.Text = "新建根节点"''createItems'Me.createItems.Index = 1Me.createItems.Text = "新建子节点"''renameItems'Me.renameItems.Index = 2Me.renameItems.T ext = "重命名节点"''delSelectedNode'Me.delSelectedNode.Index = 3Me.delSelectedNode.Text = "删除当前节点"''PreSelectedNode'Me.PreSelectedNode.Index = 4Me.PreSelectedNode.Text = "上移该节点"''NextSelectedNode'Me.NextSelectedNode.Index = 5Me.NextSelectedNode.Text = "下移该节点"''Form1'Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14) Me.ClientSize = New System.Drawing.Size(292, 273)Me.Controls.Add(Me.TreeView1) = "Form1"Me.Text = "Form1"Me.ResumeLayout(False)End Sub#End RegionPrivate Sub createItems_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles createItems.Click If TreeView1.SelectedNode Is Nothing ThenElseDim childNode As New TreeNodechildNode.Text = "新建子节点"TreeView1.SelectedNode.Nodes.Insert(0, childNode)TreeView1.SelectedNode.Expand()childNode.BeginEdit()TreeView1.SelectedNode = childNodeEnd IfEnd SubPrivate Sub TreeView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDownIf e.Button = MouseButtons.Right Then '获取当前制定的节点Dim ClickPoint As New Point(e.X, e.Y)TreeView1.SelectedNode = TreeView1.GetNodeAt(ClickPoint) End IfEnd SubPrivate Sub renameItems_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles renameItems.ClickIf TreeView1.SelectedNode Is Nothing ThenElseTreeView1.SelectedNode.BeginEdit()End IfEnd SubPrivate Sub delSelectedNode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles delSelectedNode.ClickIf TreeView1.SelectedNode Is Nothing ThenElseTreeView1.SelectedNode.Remove()End IfEnd SubPrivate Sub newRootNode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles newRootNode.ClickDim rootNode As New TreeNoderootNode.Text = "新建根节点"TreeView1.Nodes.Insert(0, rootNode)rootNode.BeginEdit()End SubPrivate Sub PreSelectedNode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PreSelectedNode.ClickIf TreeView1.SelectedNode Is Nothing ThenElse '存在选中的节点则执行下面的动作Dim tempNode As New TreeNodetempNode = TreeView1.SelectedNode.PrevNodeIf tempNode Is Nothing ThenElse '上一个节点存在则执行下面的动作TreeView1.SelectedNode.PrevNode.Remove()Dim myTab As IntegermyTab = TreeView1.SelectedNode.Index + 1If TreeView1.SelectedNode.Parent Is Nothing ThenTreeView1.Nodes.Insert(myTab, tempNode)ElseTreeView1.SelectedNode.Parent.Nodes.Insert(myTab, tempNode)End IfEnd IfEnd IfEnd SubPrivate Sub NextSelectedNode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextSelectedNode.ClickIf TreeView1.SelectedNode Is Nothing ThenElse '存在选中的节点则执行下面的动作Dim tempNode As New TreeNodetempNode = TreeView1.SelectedNode.NextNodeIf tempNode Is Nothing ThenElse '上一个节点存在则执行下面的动作TreeView1.SelectedNode.NextNode.Remove()Dim myTab As IntegermyTab = TreeView1.SelectedNode.Index - 1If TreeView1.SelectedNode.Parent Is Nothing ThenTreeView1.Nodes.Insert(myTab, tempNode)ElseTreeView1.SelectedNode.Parent.Nodes.Insert(myTab, tempNode)End IfEnd IfEnd If End Sub End Class。

Winform开发常用控件之TreeView菜单导航和权限用法

Winform开发常用控件之TreeView菜单导航和权限用法

Winform开发常⽤控件之TreeView菜单导航和权限⽤法TreeView⼀个很棒的控件,我们在做WEB开发时常常犯困的⼀个东东。

当然这⾥介绍winform⾥⾯的⽤法唠。

先介绍⼏个属性吧,CheckBoxes设置为true的话树形节点前⾯会出现checkbox勾选框、ImageList绑定树形⾥⾯的图标(界⾯上放⼀个Imgelist控件,绑定上即可)、ShowLines(树形展开时显⽰线条)等等哦,这个⽅法好,this.MenutreeView.ExpandAll();即Treeview加载后全部展开。

下⾯先介绍⼀个简单的菜单⽤法1、TreeView节点的设置和选取节点TreeView静态节点的设置⽅法很简单,主要⽤在软件的快捷导航中。

贴图,可以设置多级节点,每个节点设置Name和Text属性即可,如果觉得不美观,可以放⼀些图标。

本例中的图标是⽤ImageList绑定到⾥⾯的,还是⽐较简单。

设置好节点后,就可以写节点的事件了,贴代码///<summary>///树形⽬录菜单///</summary>///<param name="sender"></param>///<param name="e"></param>/// AfterSelect事件是点击节点时的事件private void MenutreeView_AfterSelect(object sender, TreeViewEventArgs e){string nodeselect = ;switch (nodeselect){case"⽤户管理": ShowUsermanager(); break;case"竞赛项⽬管理": ShowItemFrm(); break;case"参赛单位管理": ShowDepartFrm(); break;case"运动员信息": ShowMemberInfoFrm(); break;case"代表队名单": ShowMatchTeamFrm(); break;case"随机分组": ShowRandomGroupFrm(); break;case"分组信息": ShowGroupInfoFrm(); break;case"评分管理": ShowPointFrm(); break;case"成绩管理": ShowScoreFrm(); break;default: break;}}看到了吧,还是⽐较简单,case到以后,执⾏相应的⽅法即可,本例中主要是show⼀些窗⼝。

22 树形(Treeview)

22 树形(Treeview)

22树形列表控件(Treeview)树形列表控件(Treeviw)实现了一种层次化的结构数据,用户可以用鼠标打开或者隐藏相应数据或者节点。

Treeview是没有根节点的,每一层都可以有很多的节点。

经典的使用场景有:(1)表格类似于其他语言的Grid控件,或者Excel表格。

可以行列的形式展示数据。

(2)目录列表实现文件目录的管理,可以展开或者折叠显示目录以及文件。

Treeview有关的概念:(1)item在Treeview中显示的每一个内容,都被定义为item,和Excel中cell的概念类似。

每一个item 可以有一个文字的内容或者图片内容,这些内容是最终展现在控件中的。

(2)iid每一个item都有唯一的一个字符串标识iid。

可以用户自己定义,也可以使用系统设定的值。

需要注意的是,iid必须是唯一的,不可重复的。

(3)childchild其实也是item,不过它的含义是指定item的子项。

比如item是一个目录,那么它的下面的文件以及子目录就是此item的child。

通常在遍历整个Treeview控件的时候,child会被用到。

(4)parentparent与child类似,不过是指定item的父控件。

相当于父目录。

(5)ancestorancestor是指定item的从第一层节点到它的父节点的集合,也就是它的所有的上层节点的集合。

(6)visible指定的item是否可见。

比如在表格中,有些行或者列会被隐藏。

不过第一层节点总是可见的。

(7)descendant与ancestor类似,不过是指定item的从子节点一直到最后一层节点的集合。

(8)tagitem还可以有别名。

不同的item可以有相同的别名。

这样好处是可以给同样属性的item一起赋值。

比如,目录名称用斜体表示,而文件名称用正常的字体显示。

只有给所有的代表目录的item的tag赋值为’directory’,而代表文件的item的tag赋值为’file’,就可以很分别的实现上面的功能,而不需要为每一个item进行单独的赋值。

ASP.NET中用TreeView控件实现树目录的方法研究

ASP.NET中用TreeView控件实现树目录的方法研究
单 化 [ 1 】 。
在 20 0 2年 。 im o ?发 布 了 四种 A PN TWe M c sh S .E b控 件 . 用 于为使用 M c sfItme E p rr的 We ir otne t xl e o o b访问者提供更 好 的 体验 。 这些 We b控件称为 Itme E poe b控件 , ne t x l r r We 也简称为 I b控 件 .包 括 以下 四种 控 件: ut aeWe EWe M lP g b控 件 、 . i S i b控 件 、ola b控 件 及 TeV e b控 件 。 这 些 tDWe r Tobr We re i We w We b控 件 通 过 提供 We b访 问者 熟 悉 的 用 户 界 面 .增 强 了 A P S.
【 关键字】 S .E bI b控件、r Ve :A P TWe、 We N E Te i e w控件、 目 树 录
1 引言 .
引用添加到 Mi oo . b I b o t ld c sfWe. . C nr s u程序 集中 。然后 , r t U We o. 由于在 内含代码 的类中 ,我使用的是 C 样,则要 添加 uiEMi 8 . n
We 件 , 些 We 件 通 过 提 供 We b控 这 b控 b访 问 者 熟 悉 的 用 户界 面 , 强 了 A PN TWe 页 面。TeV e b控 件 就 是 其 中 增 S.E b re iw We 之 一 。本 文 就是 详 迷 如 何 使 用 TcV e 控 件 采 生 成树 目录 , 且 通过 实例 详 细分 析 了两种 生成 方 法 。 re i w 并
nodedpa删dn0dete哇100001000000100002100001水系沉积物测量100003100002水系沉积物测量化探数据点1咖040000加地质观测点1005100004地质观测点1000100004地质观铡点地质采样记录1000070000001000081咖07爆堆炮孔数据100009100007炮孔化学样品分析结果表1010100007爆堆炮孔数据10111007爆堆炮孔概况图2双闭环不完全微分pid自动调速系统的仿真模型仿真数据如下

ASP.NET+TreeView实现树状结构

ASP.NET+TreeView实现树状结构
李 霞
( 山西大学 计算 机与信息技术学院 , 山西 太原 00 0 ; 3 06 运城学院 公共计算机教学部 , 山西 运城 0 4 0 ) 4 00 摘 要 : 制作 课程 目录 、 在 新闻分类 、 台管理等网页时 , 后 如果使 用树状 结构来显 示数据 , 仅结 构清晰 , 不 而
二 、 装 TeVe 安 r i e w控 件
注册之后就可 以开始使用 TeVe r i e w控件 了。 三、 结合 S LSre 00创建动态树 Q evr 0 2
由于 TeVe re i w控 件 并 没有 内置 在. E N T框 架 中, 所 以在你的 We 程序使用 TeVe b r i e w控件之 前 , 首先必 须下载 It n t x l e We Bo e cn o ne e E p r b rw r ot l r or r s到你 的服 务器上 , 并进行 安装 。你 可 以访 问 以下 网址对 该控 件 进行下载 :ห้องสมุดไป่ตู้
h t / s . e/I t p:/a p n t EW e C nr l/d wn o d a p b o t s o la . s x o
下载后 , 再根据它的帮助文档进行一些必要的设置。 一 在成功下 载并 进行 设置 之后 , 还需 要在 每个使 用 它的程序页面开头添加如下语句对 陔控件进行注册 。
Na s a e= ”M irs f.W e mep e c o ot b.UI .W e Co tos A s m— b n rl ” s e by = ”M ir s f. e .UI W e Co tos Veso = 1 0. l c o ot W b . b nrl . rin . 2 2 6, C lu e . 2 u tr n u rl P 1 iKe To el ; e ta , u) c y k 【 l
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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:TextBoxid="TextBox1" runat="server"></asp:TextBox></TD></TR><TR><TD><asp:Buttonid="addButton" runat="server" Text="添加"></asp:Button><asp:Buttonid="editButton" runat="server" Text="修改"></asp:Button><asp:Buttonid="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:Buttonid="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后台代码protected Microsoft.Web.UI.WebControls.TreeView TreeView1;public string returnvalue="";//递归存储值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);DropDownListBind(0,DropDownList1);//添加根节点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 DropDownListBind(int parterid,DropDownList droplist){//递归类别 DataSet ds=returnDataset(parterid);if(ds!=null){for(int i=0;i<ds.Tables[0].Rows.Count;i++){ListItem list=new ListItem();if (ds.Tables[0].Rows[i]["depth"].ToString()=="0"){list.Text=ds.Tables[0].Rows[i]["name"].ToString();}else{string depth="";//for(i=1;i<Int32.Parse(ds.Tables[0].Rows[i]["depth"].ToString());i++){depth+="--";//}list.Text=depth+ds.Tables[0].Rows[i]["name"].ToString();}list.Value=ds.Tables[0].Rows[i]["id"].ToString();droplist.Items.Add(list);DataSet ds2=returnDataset(Int32.Parse(ds.Tables[0].Rows[i]["id"].ToString()));if(ds2.Tables[0].Rows.Count>0){DropDownListBind(Int32.Parse(ds.Tables[0].Rows[i]["id"].ToString()),DropDownList1);}}}}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;datasource="+Server.MapPath("Data.mdb");OleDbDataAdapter cmd;DataSet ds=new DataSet();try{conn.Open();cmd=new OleDbDataAdapter("select * from treeview whereparterid="+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);//获得父类IDstring 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();mandType=CommandType.Text;cmd.Connection=conn;mandText="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();mandType=CommandType.Text;cmd.Connection=conn;mandText="update treeview setname='"+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);//Response.Write(id.ToString()+"<br>");string tmpid="";tmpid=id.ToString()+allid(treenode.Nodes).ToString();//Response.Write(tmpid);//Response.End();if (treenode.Target!="0"){OleDbConnection conn=new OleDbConnection();conn.ConnectionString="provider=microsoft.jet.oledb.4.0;datasource="+Server.MapPath("Data.mdb");conn.Open();OleDbCommand cmd=new OleDbCommand();mandType=CommandType.Text;cmd.Connection=conn;mandText="delete * from treeview where id in("+tmpid+")";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("不能删除根节点");}}private string allid(TreeNodeCollection tnc){//遍历TreeView节点(递归算法)foreach(TreeNode node in tnc){if(node.Nodes.Count!=0){returnvalue+=","+node.Target;//Response.Write(node.Text+node.Target+"<br>");allid(node.Nodes);}else{//Response.Write(node.Text+node.Target+"<br>");returnvalue+=","+node.Target;}}return returnvalue;}private void moveButton_Click(object sender, System.EventArgs e) {//移动//此功能实现的时候需要考虑移动中所有类的深度是否有子类问题 }。

相关文档
最新文档