private void RunExportCall(Stream exportStream) { TreeViewExportState state = this.SaveTreeViewState(); this.columnWidths = new List <int>(); this.defaultItemSize = new Size(this.treeView.Width, this.treeView.ItemHeight); if (this.ExportVisualSettings) { this.elementProvider = this.treeView.TreeViewElement.ViewElement.ElementProvider as TreeViewElementProvider; } try { this.spreadExportRenderer.GetFormatProvider(this.ExportFormat); this.spreadExportRenderer.CreateWorkbook(); this.ExportToStream(exportStream); this.OnExportCompleted(new EventArgs()); ControlTraceMonitor.TrackAtomicFeature((RadControl)this.treeView, "Export"); } finally { this.applicationDoEvents = false; this.RestoreTreeViewState(state); } }
private void RunExportCall(string fileName) { TreeViewExportState state = this.SaveTreeViewState(); this.columnWidths = new List <int>(); this.defaultItemSize = new Size(this.treeView.Width, this.treeView.ItemHeight); if (this.ExportVisualSettings) { this.elementProvider = this.treeView.TreeViewElement.ViewElement.ElementProvider as TreeViewElementProvider; } try { this.spreadExportRenderer.GetFormatProvider(this.ExportFormat); fileName = Path.GetDirectoryName(fileName) + (object)Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(fileName) + this.spreadExportRenderer.GetFileExtension(this.ExportFormat); FileStream fileStream; if (this.FileExportMode == FileExportMode.NewSheetInExistingFile && File.Exists(fileName) && this.ExportFormat == SpreadExportFormat.Xlsx) { fileStream = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite, 32768, false); this.spreadExportRenderer.ImportWorkbook((Stream)fileStream); } else { fileStream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite, 32768, false); this.spreadExportRenderer.CreateWorkbook(); } using (fileStream) this.ExportToStream((Stream)fileStream); this.OnExportCompleted(new EventArgs()); ControlTraceMonitor.TrackAtomicFeature((RadControl)this.treeView, "Export", (object)fileName); } finally { this.applicationDoEvents = false; this.RestoreTreeViewState(state); } }
private List <TreeViewSpreadExportRow> GetTreeViewDataSnapshot() { List <TreeViewSpreadExportRow> viewSpreadExportRowList = new List <TreeViewSpreadExportRow>(); this.defaultItemSize = new Size(this.treeView.Width, this.treeView.ItemHeight); if (this.ExportVisualSettings) { this.elementProvider = this.treeView.TreeViewElement.ViewElement.ElementProvider as TreeViewElementProvider; } int num = 0; IEnumerator <RadTreeNode> enumerator = this.EnumerateNodes().GetEnumerator(); bool skipHiddenChildNodes = false; bool exportChildNodesHidden = false; int collapsedParentLevel = 0; if (this.ExportChildNodesGrouped) { this.InitializeRowGroupDataStructures(); } while (enumerator.MoveNext()) { RadTreeNode current = enumerator.Current; if (!skipHiddenChildNodes || collapsedParentLevel >= current.Level) { skipHiddenChildNodes = false; TreeViewSpreadExportRow exportRow = this.CreateExportRow(current, num, ref skipHiddenChildNodes, ref collapsedParentLevel, ref exportChildNodesHidden); viewSpreadExportRowList.Add(exportRow); if (this.ExportChildNodesGrouped) { this.ProcessCurrentRowGrouping(current.Level, num); } ++num; } } return(viewSpreadExportRowList); }