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);
}
}