/// <summary> /// 删除的是整个文件夹 /// </summary> /// <param name="anyNode"></param> private void RemoveTmpltTreeNode(XmlNodeList anyNode) { foreach (XmlNode node in anyNode) { if (node is FolderXmlElement) { RemoveTmpltTreeNode(node.ChildNodes); RemoveElementNode((node as FolderXmlElement).Id); } else if (node is TmpltSimpleExXmlElement) { TmpltSimpleExXmlElement tmpltElement = node as TmpltSimpleExXmlElement; TmpltBaseTreeNode tmpltBaseNode = GetElementNode(tmpltElement.Id); tmpltBaseNode.RemoveChildNode(tmpltBaseNode); } } }
private void sdsite_ElementDeleted(object sender, EventArgs <SimpleExIndexXmlElement> e) { ///先找原节点并删除 ///比较麻烦 如果删除整个文件夹 或者该文件夹有一个模板,删了后 该节点也删除 elementNode 没有存文件夹的ID TmpltBaseTreeNode node = this.GetElementNode(e.Item.Id); if (node != null) { //_dicNodeIndexsz中的内容 只包含,模板文件夹下的问价夹,和模板文件,及其下的页面片和PART if (node is FolderElementNode) //是模板下的文件夹 { RemoveTmpltTreeNode(node.Element.ChildNodes); } else//模板文件,页面片,PART { node.RemoveChildNode(node); } } }