asp.net c# 删除节点与节点重命名代码

asp教程.net c# 删除节点与节点重命名代码
private void menuitemdelete_click(object sender, system.eventargs e)
{
try
{
if(messagebox.show(this,"删除节点<"+treeview.selectednode.text.trim()+">,与其对应的信息也将被删除,你确定要删除吗?","information",messageboxbuttons.okcancel,messageboxicon.question)==dialogresult.ok)
{
//判断选定的节点是否存在下一级节点
if ( treeview.selectednode.nodes.count == 0 )
{
//删除节点
treenode delenode=treeview.selectednode;
if (file.exists(this.richtextboxpicturename)) file.delete(this.richtextboxpicturename);
int rows=mybindtree.position;
treeview.nodes.remove(delenode);
dataset.tables["tree"].rows[rows].delete();
}
else
messagebox.show ( "请先删除此节点中的子节点!" , "information" , messageboxbuttons.ok , messageboxicon.information ) ;
}
}
catch(exception te)
{
messagebox.show(this,te.message,"errordelete",messageboxbuttons.ok,messageboxicon.warning);
}
}

6、节点重命名
private void menuitemrename_click(object sender, system.eventargs e)
{
treenode myselectednode=treeview.selectednode;
if (myselectednode!=null)
{
treeview.selectednode=myselectednode;
treeview.labeledit=true;
myselectednode.beginedit();
}
else
messagebox.show("no tree node selected .n","invalid selection");
}

/// <summary>
/// 返回指定表的最大nodeid号码,也就是当前选定节点的tag
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="columnname">数据列</param>
/// <returns>最大nodeid号码</returns>
private int maxrecordnumber(datatable dt,string columnname)
{
int number=0;
dataview dv=dt.defaultview;
dv.sort=columnname+" asc";//一个字符串,它包含列名,后跟"asc"(升序)或"desc"(降序)。在默认情况下,列按升序排列。多个列可用逗号隔开。
foreach(datarow dr in dt.rows)
{
number=convert.toint16(dr[columnname].tostring().trim())>number?convert.toint16(dr[columnname].tostring().trim()):number;
}
return number;
}

/// <summary>
/// 在数据表中增加节点或删除节点
/// </summary>
/// <param name="adddeletenode">要增加或删除的节点</param>
/// <param name="parentnodeid">要增加或删除节点的父节点</param>
/// <param name="adddeletetag">增删节点标志(add为增加节点,delete为删除节点,不区分大小写)</param>
private void adddeletenode(treenode adddeletenode,string parentnodeid,string adddeletetag)
{
try
{
if(adddeletetag.toupper()=="add")
{
object key=parentnodeid;
datarow dr=dataset.tables["tree"].rows.find(key);
datarow drnew=dataset.tables["tree"].newrow();
if(dr!=null)
{
drnew["parentid"]=dr["nodeid"];
}
else
{
drnew["parentid"]=rootnodetag;
}
drnew["nodeid"]=(int)adddeletenode.tag;
drnew["nodename"]=adddeletenode.text.trim();
dataset.tables["tree"].rows.add(drnew);
}
else
{
if(adddeletetag.toupper()=="delete")
{
dataset.tables["tree"].rows[mybindtree.position].delete();
}
}
}
catch(exception te)
{
messagebox.show(this,te.message,"error",messageboxbuttons.ok,messageboxicon.warning);
}
}

时间: 2024-09-23 13:51:51

asp.net c# 删除节点与节点重命名代码的相关文章

文件管理-编写一个文件系统,实现新建,删除,修改,重命名等功能,任何语言都可以

问题描述 编写一个文件系统,实现新建,删除,修改,重命名等功能,任何语言都可以 编写一个文件系统,实现新建,删除,修改,重命名等功能,任何语言都可以 解决方案 http://wenku.baidu.com/link?url=lIMJlEeOYIQH4VUncvWYqEQBGmGmabYkFXLmjSs71NG5cs4ModX9eH0YhUYLxTR4u9SyyKpYI9Yp1u1uyo6-eq6fgL07wejRddEdi2rGBdy http://www.docin.com/p-9076884

如何解决空文件夹无法删除、移动或重命名的问题

宁夏 green:我的电脑的最后一个分区是G盘,最近不知道为什么,G盘总是自动创建一些名称怪异的空文件夹(如"_95561_"这样的文件夹),而且这些空文件夹无法删除.移动或重命名.我发现不仅是这些空文件夹无法删除,这个分区中的所有文件都无法删除,请问,我的硬盘出现了磁道错误吗? Dr.Known:出现上述情况,和硬盘磁道错误没有什么直接关系.我建议你先安装杀毒软件,并更新病毒库到最新版本,对硬盘进行一次全面的扫描操作,排除病毒干扰.另外,你还可以回忆一下出现这种现象前,安装了什么比较

大家帮忙啊,为什么树节点不能够重命名啊??????

问题描述 PrivateSubTreeView1_AfterLabelEdit(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.NodeLabelEditEventArgs)HandlesTreeView1.AfterLabelEditMe.文件夹DataSet1.Tables(i0).Rows(j0)("标题")=Me.TreeView1.SelectedNode.Text.ToStringMe.日记TableAdapter.Upda

ASP技巧:在Access数据库中重命名表

access|技巧|数据|数据库 下面代码是用Adox重命名Access表名的示例代码:Dim Conn,ConnStr,oCat,oTblConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")Set oCat=Server.CreateObject("ADOX.Catalog") oCat.ActiveConnectio

asp.net正则表达式删除指定的HTML标签的代码

如果全盘删除里面的 HTML 标签,可能会造成阅读上的困难(比如 a, img 这些标签), 最好是删除一部分,保留一部分. 正则表达式里,判断 包含某些字符串 是非常容易理解的,但是如何判断 不包含某些字符串 (是字符串,不是字符,是某些,不是某个) 确实是个费解的事. 复制代码 代码如下: <(?!((/?\s?li)(/?\s?ul)(/?\s?a)(/?\s?img)(/?\s?br)(/?\s?span)(/?\s?b)))[^>]+> 这个正则是判断HTML标签不包含 li

asp.net正则表达式删除指定的HTML标签的代码_实用技巧

如果全盘删除里面的 HTML 标签,可能会造成阅读上的困难(比如 a, img 这些标签), 最好是删除一部分,保留一部分. 正则表达式里,判断 包含某些字符串 是非常容易理解的,但是如何判断 不包含某些字符串 (是字符串,不是字符,是某些,不是某个) 确实是个费解的事. 复制代码 代码如下: <(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?br)|(/?\s?span)|(/?\s?b)))[^>]+> 这个正则是判断HTML标签不

jquery实现鼠标右键弹窗删除/重命名等操作实例

在一些管理后台,我们会模拟windows系统鼠标右键的操作实现删除和重全名等,本文我们来告诉你用jquery如何实现. 1.因为window默认是可以右键的,所以我们要先禁用window原生的右键弹窗(禁用包括2个区域,1是鼠标右键的区域div 2是弹出窗口的div): //禁用区域右键$('body').on('contextmenu','.bottompage',function(){    return false;});$('body').on('contextmenu','#noteb

闪回的用途与实战(闪回表,闪回删除,闪回重名删除,闪回版本查询)

闪回可以做的操作有如下几种类型:1.当数据错误删除,并且提交时(flashback table)2.当错误删除了一张表drop table(flashback drop)3.通过闪回获取表的历史记录(flashback version query)4.当错误地执行了一个事务,并且提交了(flashback transaction query)5.将整个数据库进行恢复. 使用闪回条件:1.切换到管理员上. 假设开始登录的用户名和密码是MISPS 如果是连接远程的,连接sqlplus的方式是: sq

单链表-删除链表的节点出现问题

问题描述 删除链表的节点出现问题 我创建了一个链表,链表的第一个节点不是空白的.我想用free函数删除第一个节点,发现出错.删除其他的节点没有问题.不知道什么缘故. 解决方案 你的链表怎么定义的? 是 typeof struct Node { Node next; } Node * head这样定义的么? 那么你删除首节点要这么做 prehead = head; head = head->next; free(prehead); 解决方案二: 删除节点时: Node *s,*p; s=p->n