2008年2月27日 星期三

TreeView進階應用

包仔之前介紹了TreeView元件資料綁定方法後,最近又結合XmlDataSource此元件綁入資料至TreeView中,且看以下介紹唄!

Menu.xml結構如下


TreeReader.aspx.cs
此為程式片段
//新增模組動作
XmlTextReader reader = new XmlTextReader(Server.MapPath("/MyTest/App_Themes/" + MenuXml));
XmlDocument XmlD = new XmlDocument();
XmlD.Load(reader);
reader.Close();
XmlNode oldNode;
XmlElement root = XmlD.DocumentElement;
XmlNode newNode;
oldNode = root.SelectSingleNode("/ClassNode[@Text='樹狀節點管理']");//運用XPath搜尋
XmlElement NewElement = XmlD.CreateElement("ClassNode1");//建立節點NewElement.SetAttribute("Text",此為自行輸入之來源);
NewElement.SetAttribute("ID",此為自行輸入之來源);
oldNode.AppendChild(NewElement);
XmlD.Save(Server.MapPath("/MyTest/App_Themes/" + MenuXml));
在新增節點時,需注意所新增節點是否為目前所點選之節點的子節點。
然而修改功能與新增大致相同,唯一有分別的是針對所點選之節點作修正,指令如下:
XmlAttribute textAttr = oldNode.Attributes["Text"];
XmlAttribute idAttr = oldNode.Attributes["ID"];
textAttr.Value = 此處為自行輸入值;
idAttr.Value = 此處為自行輸入值;
刪除節點時就必須注意到所點選之節點,並由其父節點來移除所點選之節點,指令如下:
ParentNode = oldNode.ParentNode;
ParentNode.RemoveChild(RemoveNode);
程式操作畫面如下:


新增後之操作畫面:

新增後之XML檔結構:




運用以上語法便可對TreeView做資料的變更囉!!

HEMiDEMi Technorati Del.icio.us MyShare個人書籤 Yahoo

0 意見: