Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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);
        }