// Hier wird das ganze was wir mit dem Elternordner gemacht haben für die Unterordner und deren // Unterordner bzw. Dateien noch mal getan. Gibt es weitere Unterordner wird die Funktion rekursiv aufgerufen. private void FillTWI_TreeView(IList <SharePointFolder> folderList) { List <SharePointFolder> subfolderList = new List <SharePointFolder>(); foreach (SharePointFolder folder in folderList) { if (folder.GetSubFolders().Count > 0) { subfolderList.Add(folder); } foreach (SharePointFolder subFolder in folder.GetSubFolders()) { TreeNode parentNode; try { parentNode = FindTreeNode(subFolder.GetFolderName()); } catch (Exception ex) { MessageBox.Show(ex.Message); logger.Error(ex.Message + "/n" + ex.StackTrace); logger.Debug("Subfoldername: " + subFolder.GetFolderName()); return; } if (parentNode != null) { TWI_TreeView.BeginUpdate(); parentNode.Nodes.Add(folder.GetFolderName(), folder.GetFolderName(), 0, 0); this.folderList.Add(new TreeNode(folder.GetFolderName())); TWI_TreeView.EndUpdate(); } } if (folder.GetFiles().Count > 0) { foreach (SharePointFile file in folder.GetFiles()) { TreeNode parentNode; try { parentNode = FindTreeNode(folder.GetFolderName()); } catch (Exception ex) { MessageBox.Show(ex.Message); logger.Error(ex.Message + "/n" + ex.StackTrace); logger.Debug("Foldername: " + folder.GetFolderName()); return; } if (parentNode != null) { TWI_TreeView.BeginUpdate(); parentNode.Nodes.Add(file.GetName(), file.GetName(), 1, 1); this.fileList.Add(new TreeNode(file.GetName())); TWI_TreeView.EndUpdate(); } } } } if (subfolderList.Count > 0) { FillTWI_TreeView(subfolderList); } }
// In der Funktion FillTWI_TreeView wird der Treeview aufgebaut es wird der oberste Ordner hinzugefügt // und geprüft ob dieser noch Unterordner besitzt. Wenn ja werden die Unterordner ebenfalls auf Unterordner und Dateien // geprüft, falls die Unterordner welche besitzen werden sie in eine Liste gespeichert. Anschließend werden // die Unterordner des Parentordners in den TreeView gespeichert. private void FillTWI_TreeView() { TWI_TreeView.BeginUpdate(); TWI_TreeView.Nodes.Add(this.parent.GetFolderName()); TWI_TreeView.EndUpdate(); List <SharePointFolder> folderList = new List <SharePointFolder>(); if (this.parent.GetSubFolders().Count > 0) { foreach (SharePointFolder subFolder in this.parent.GetSubFolders()) { if (subFolder.GetSubFolders().Count > 0 || subFolder.GetFiles().Count > 0) { folderList.Add(subFolder); } TWI_TreeView.BeginUpdate(); TWI_TreeView.Nodes[0].Nodes.Add(subFolder.GetFolderName(), subFolder.GetFolderName(), 0, 0); this.folderList.Add(new TreeNode(subFolder.GetFolderName())); TWI_TreeView.EndUpdate(); } } if (this.parent.GetFiles().Count > 0) { foreach (SharePointFile file in this.parent.GetFiles()) { TWI_TreeView.BeginUpdate(); TWI_TreeView.Nodes[0].Nodes.Add(file.GetName(), file.GetName(), 1, 1); this.fileList.Add(new TreeNode(file.GetName())); TWI_TreeView.EndUpdate(); } } if (folderList.Count > 0) // folderList ist die Liste mit den Unterordnern des Elternordners, die entweder andere Unterordner oder Dateien enthalten. { FillTWI_TreeView(folderList); } }