private void LoadSubFolders(FileSystemFolterTreeNode node, bool updateFlatList) { string[] directories = null; node.SubFoldersLoaded = true; try { directories = Directory.GetDirectories(node.Path); } catch (System.UnauthorizedAccessException) { return; } foreach (string dirPath in directories) { FileSystemFolterTreeNode dirNode = foltersTreeList.CreateNewNode(); dirNode.Path = dirPath; dirNode.Name = new DirectoryInfo(dirPath).Name; foltersTreeList.AddNode(dirNode, node, TreeListNodeAttachMode.AddChild, false); //if (loadSubSubFolders == true) // LoadSub Folders(dirNode, false); } if (updateFlatList) { RebuildFlatList(); } }
private void LoadSubSubFolders(FileSystemFolterTreeNode node) { foreach (FileSystemFolterTreeNode n in node.Items) { LoadSubFolders(n, false); } node.SubSubFoldersLoaded = true; RebuildFlatList(); }
private void dataGridEh1_TreeViewArea_NodeStateNeeded(object sender, DataGridTreeViewNodeStateNeededEventArgs e) { if (e.Row == null) { return; } FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem; e.NodeLevel = node.Level; e.HasChildren = node.HasChildren; e.Expanded = node.Expanded; e.ParentItem = node.Parent; }
private void dataGridEh1_TreeViewArea_ExpandedStateSet(object sender, DataGridTreeViewNodeExpandedStateSetEventArgs e) { if (e.Row == null) { return; } FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem; node.Expanded = e.Expanded; if (node.Expanded && !node.SubSubFoldersLoaded) { LoadSubSubFolders(node); } RebuildFlatList(); }
private void dataGridTextColumn4_DataCellFormatParamsNeeded(object sender, DataGridDataCellFormatParamsNeededEventArgs e) { if (e.Row == null) { return; } FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem; if (node.Size == "?") { e.CellArgs.HorzAlign = HorizontalAlignment.Center; } else { e.CellArgs.HorzAlign = HorizontalAlignment.Right; } }
public void LoadData() { string[] directories = Directory.GetDirectories(textBoxEh1.Text); foltersTreeList.Clear(); foreach (string dirPath in directories) { FileSystemFolterTreeNode dirNode = foltersTreeList.CreateNewNode(); dirNode.Path = dirPath; dirNode.Name = new DirectoryInfo(dirPath).Name; foltersTreeList.AddNode(dirNode, foltersTreeList.Root, TreeListNodeAttachMode.AddChild, false); LoadSubFolders(dirNode, false); //LoadSubSubFolders(dirNode); } RebuildFlatList(); }
private void dataGridTextColumn3_DataCellCustomAreaPaint(object sender, DataGridDataCellPaintEventArgs e) { if (e.Row == null) { return; } BasePaintCellStates cellPaintState = e.CellArgs.State; e.CellArgs.State = e.CellArgs.State & ~BasePaintCellStates.Current & ~BasePaintCellStates.Focused; Rectangle clientRect = e.CellArgs.ClientRect; Rectangle folderAreaRect = e.CellArgs.ClientRect; folderAreaRect.X = e.CellArgs.CustomRect.Left; folderAreaRect.Width = e.CellArgs.ClientRect.Left - e.CellArgs.CustomRect.Left; e.CellArgs.ClientRect = folderAreaRect; e.PaintBackground(e); e.CellArgs.ClientRect = clientRect; e.CellArgs.State = cellPaintState; FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem; { Rectangle folderSignRect = folderAreaRect; Image folderImage; if (node.Expanded || !node.HasChildren) { folderImage = Properties.Resources.FolderOpen; } else { folderImage = Properties.Resources.FolderClosed; } folderSignRect = new Rectangle(Point.Empty, folderImage.Size); folderSignRect = EhLibUtils.RectCenter(folderSignRect, folderAreaRect); //folderSignRect.X = folderSignRect.Left + 2; e.CellArgs.Graphics.DrawImage(folderImage, folderSignRect); } }
private void dataGridTextColumn4_DataCellMouseClick(object sender, DataGridDataCellMouseEventArgs e) { if (e.Row == null) { return; } FileSystemFolterTreeNode node = (FileSystemFolterTreeNode)e.Row.SourceItem; long size = CalcFolderSize(node.Path); if (size > 1024 * 10) { size = size / 1024; if (size > 1024 * 10) { size = size / 1024; if (size > 1024 * 10) { size = size / 1024; node.Size = size.ToString("N0") + " Gb"; } else { node.Size = size.ToString("N0") + " Mb"; } } else { node.Size = size.ToString("N0") + " Kb"; } } else { node.Size = size.ToString("N0") + " b"; } }