/// <summary> /// 展开目录 /// </summary> protected override void OnExpand() { //存储有效对象id Dictionary <string, bool> vCache = new Dictionary <string, bool>(); foreach (var item in m_Dir.GetDirectories()) { vCache[item.Name] = true; if (Node.Nodes.ContainsKey(item.Name)) { continue; } //增加子节点 FolderCategoryNode vNode = new FolderCategoryNode(item, m_Filter); AppendNode(vNode.Node); } //数据源。 foreach (var item in m_Filter) { DataSourceCategoryNode[] arr = item.MakeDataSourceNode(m_Dir); if (null == arr || arr.Length == 0) { continue; } foreach (var d in arr) { AppendNode(d.Node); vCache[d.Name] = true; } } //移除删除的对象 RemoveDeletedNode(vCache); }
/// <summary> /// 展开数据。 /// </summary> protected override void OnExpand() { ///获取所有的目录。 Dictionary <string, bool> vDic = new Dictionary <string, bool>(); foreach (var item in System.IO.DriveInfo.GetDrives()) { if (!item.IsReady) { continue; } vDic[item.RootDirectory.Name] = true; if (Node.Nodes.ContainsKey(item.RootDirectory.Name)) { continue; } //增加子节点 FolderCategoryNode vNode = new FolderCategoryNode(item.RootDirectory, m_Filter); AppendNode(vNode.Node); } //移除删除的对象 RemoveDeletedNode(vDic); }