/// <summary> /// Method for building pages for each table of the dataset. /// </summary> private void buildPages() { try { Cursor = Cursors.WaitCursor; _tabControl.BeginUpdate(); // remove previously added user controls from page and free memory foreach (XtraTabPage page in _tabControl.TabPages) { cleanPage(page); } _tabControl.TabPages.Clear(); foreach (DataTable table in _dataSet.Tables) { var tabPage = new XtraTabPage { Name = table.TableName, Text = table.TableName }; _tabControl.TabPages.Add(tabPage); FillTabPageFromTable(table, tabPage); } _tabControl.EndUpdate(); PerformLayout(); checkForMissingData(); } finally { Cursor = Cursors.Default; } }
private static void TabsUpdate(XtraTabControl pagesTabControl, bool savingAll, UpdatePhase phase) { if (!savingAll) { return; } switch (phase) { case UpdatePhase.Begin: pagesTabControl.BeginUpdate(); break; case UpdatePhase.End: pagesTabControl.EndUpdate(); break; } }
public void GenerateReportPages(ref XtraTabControl pTabControl, int[] pSubcampaignIds, int pViewConfigId = 0) { List<XtraTabPage> _lstGroup = new List<XtraTabPage>(); ReportPage _ReportPage = null; int _DefaultTab = 0; int _SubcampaignId = 0; string _SubCampaignTitle = string.Empty; SubcampaignData _SubCampaignData = null; m_lstViewConfigData = this.GetConfigurationInfos(pSubcampaignIds); for (int x = 0; x < m_lstViewConfigData.Count; ++x) { /** * if specific view is specified (pViewConfigId > 0), we will only need to use that view. * so we can save process. */ if (pViewConfigId > 0 && m_lstViewConfigData[x].id != pViewConfigId) continue; if (m_lstViewConfigData[x].id == pViewConfigId) _DefaultTab = x; _SubcampaignId = m_lstViewConfigData[x].subcampaign_id; if (pSubcampaignIds.Length > 1) { _SubCampaignData = LSubCampaignData.FirstOrDefault(f => f.id == _SubcampaignId); if (_SubCampaignData != null) _SubCampaignTitle = _SubCampaignData.title + ">"; } _ReportPage = new ReportPage(ref this.gcReport, ref this.gvReport, string.Format("{0}{1}", _SubCampaignTitle, m_lstViewConfigData[x].name), CallingEnvironment, m_IsWebPortalCall) { ConfigData = m_lstViewConfigData[x], DatabaseConnection = m_DatabaseConnection, WebPortalRequester = m_WebPortalRequester, ReportsPath = m_ReportsPath, CallingApplication = CallingApplication }; _lstGroup.Add(_ReportPage); } /** * if its a web portal call, no need to thread tab loading. * since we only get one tab to process when called from web portal. */ if (CallingEnvironment == eCallingEnvironment.BrightSales_SendEmail || m_IsWebPortalCall) { this.GenerateReportPage(_lstGroup[0]); return; } pTabControl.BeginUpdate(); pTabControl.TabPages.AddRange(_lstGroup.ToArray()); pTabControl.EndUpdate(); pTabControl.SelectedTabPageIndex = _DefaultTab; this.StartPoolingReportPages(ref pTabControl); }