コード例 #1
0
        public static ExControlStyles GetStyle(WebbReport webbReport)
        {
            ExControlStyles excontrolStyle = new ExControlStyles();

            Band band = webbReport.Bands[BandKind.Detail];

            foreach (XRControl xrControl in band.Controls)
            {
                if (!(xrControl is WinControlContainer))
                {
                    continue;
                }

                Control c = (xrControl as WinControlContainer).WinControl;

                if (c is GridControl)
                {
                    GridView gridView = (c as GridControl).GridView;

                    excontrolStyle.ApplyStyle(gridView.Styles);

                    return(excontrolStyle);
                }
                else if (c is GroupingControl)
                {
                    GroupView groupView = (c as GroupingControl)._GroupView;

                    excontrolStyle.ApplyStyle(groupView.Styles);

                    return(excontrolStyle);
                }
            }
            return(excontrolStyle);
        }
コード例 #2
0
        public static ExControlView GetView(TemplateType templateType, WebbReport webbReport)
        {
            Band detailband = webbReport.Bands[BandKind.Detail];

            foreach (XRControl xrControl in detailband.Controls)
            {
                if (!(xrControl is WinControlContainer))
                {
                    continue;
                }

                Control c = (xrControl as WinControlContainer).WinControl;

                if (templateType == TemplateType.PlayList)
                {
                    if (!(c is GridControl))
                    {
                        continue;
                    }
                    return((c as GridControl).GridView);
                }
                else if (templateType == TemplateType.Group)
                {
                    if (!(c is GroupingControl))
                    {
                        continue;
                    }
                    return((c as GroupingControl)._GroupView);
                }
            }
            return(null);
        }
コード例 #3
0
 public void LoadReport(WebbReport i_Report)
 {
     if (this.PrintingSystem == null)
     {
         this.PrintingSystem = new DevExpress.XtraPrinting.PrintingSystem();
     }
     this.PrintingSystem.ClearContent();
     this.Invalidate();
     this.Update();
     i_Report.PrintingSystem = this.PrintingSystem;
     i_Report.CreateDocument();
 }
コード例 #4
0
        public bool UpdateSampleReportStyle(WebbReport webbReport)
        {
            if (this._SerializableWatermark != null)
            {
                webbReport.Watermark = this._SerializableWatermark.ConvertTo();
            }

            Band band = webbReport.Bands[BandKind.Detail];

            foreach (XRControl xrControl in band.Controls)
            {
                if (!(xrControl is WinControlContainer))
                {
                    continue;
                }

                Control c = (xrControl as WinControlContainer).WinControl;

                if (WizardCustomStylesCollection.AvailbleWizardStyles.TemplateType == TemplateType.PlayList)
                {
                    if (!(c is GridControl))
                    {
                        continue;
                    }

                    GridView gridView = (c as GridControl).GridView;

                    gridView.Styles.ApplyStyle(this.ExcontrolStyles);

                    return(true);
                }
                else if (WizardCustomStylesCollection.AvailbleWizardStyles.TemplateType == TemplateType.Group)
                {
                    if (!(c is GroupingControl))
                    {
                        continue;
                    }

                    if (this.ExcontrolStyles != null)
                    {
                        GroupView groupView = (c as GroupingControl)._GroupView;

                        groupView.Styles.ApplyStyle(this.ExcontrolStyles);
                    }
                }
            }

            return(true);
        }
コード例 #5
0
        public void SetPrintSetting(WebbReport webbReport, GridView _GridView)
        {
            Size size = webbReport.GetNoDealedSizePerPage();

            pageSize = size;

            size.Width += 100;

            this.picHeader.Size = size;

            this.pageMargins = webbReport.Margins;

            this.picHeader.Invalidate();

            gridView = _GridView;
        }
コード例 #6
0
        public static WebbReport LoadReport(string i_ReportID)
        {
            if (i_ReportID == null || i_ReportID == string.Empty)
            {
                return(null);
            }

            string m_FilePath = ReportTemplate.GetTemplateFilePath(i_ReportID);

            WebbReport m_Report = new WebbReport();

            if (File.Exists(m_FilePath))
            {
                m_Report.LoadLayout(m_FilePath);
            }

            return(m_Report);
        }
コード例 #7
0
        private WebbDataSource GetWebbDataSource()
        {
            if (this.ExControl == null)
            {
                return(null);
            }

            if (this.ExControl.Report == null)
            {
                return(null);
            }

            WebbReport m_WebbReport = this.ExControl.Report as WebbReport;

            if (m_WebbReport == null)
            {
                return(null);
            }

            return(m_WebbReport.WebbDataSource);
        }
コード例 #8
0
        public Webb.Reports.WebbReport CreateReport(string exePath, string templatePath)
        {
            if (!this._IsCommandInitialized)
            {
                return(null);
            }

            string strXtraReportFilePath = templatePath;

            WebbReport m_Report = null;

            bool ClickEvent = VideoPlayBackManager.ClickEvent;

            if (strXtraReportFilePath != string.Empty)
            {
                m_Report = new WebbReport();

                if (File.Exists(strXtraReportFilePath))
                {
                    Webb.Utility.ReplaceRefPathInRepxFile(strXtraReportFilePath, exePath);                      //Modify template file

                    m_Report.LoadLayout(strXtraReportFilePath);

                    Webb.Utility.CurFileName = strXtraReportFilePath;                  //06-23-2008@Scott

                    #region Modify codes at 2009-4-9 10:26:35@Simon                    //
                    string strWebbReportTemplateFilePath = strXtraReportFilePath.Replace(Webb.Utility.ReportExt, Webb.Utility.WebbReportExt);

                    if (strWebbReportTemplateFilePath.EndsWith(Webb.Utility.WebbReportExt) && File.Exists(strWebbReportTemplateFilePath))
                    {
                        File.Delete(strWebbReportTemplateFilePath);
                    }
                    #endregion                            //End Modify
                }
            }
            VideoPlayBackManager.ClickEvent = ClickEvent;

            return(m_Report);
        }
コード例 #9
0
        public Webb.Reports.WebbReport CreateReport(string exePath, string templatePath)
        {
            if (!this._IsCommandInitialized)
            {
                return(null);
            }

            string strXtraReportFilePath = templatePath;

            WebbReport m_Report = null;

            if (strXtraReportFilePath != string.Empty)
            {
                m_Report = new WebbReport();

                if (File.Exists(strXtraReportFilePath))
                {
                    Webb.Utility.ReplaceRefPathInRepxFile(strXtraReportFilePath, exePath);                      //Modify template file

                    m_Report.LoadLayout(strXtraReportFilePath);

                    Webb.Utility.CurFileName = strXtraReportFilePath;                           //06-23-2008@Scott

                    string strWebbReportTemplateFilePath = strXtraReportFilePath.Replace(Webb.Utility.ReportExt, Webb.Utility.WebbReportExt);

                    if (File.Exists(strWebbReportTemplateFilePath))
                    {
                        WebbReportTemplate template = new WebbReportTemplate();

                        template.Load(strWebbReportTemplateFilePath);

                        m_Report.ApplyTemplate(template);
                    }
                }
            }

            return(m_Report);
        }
コード例 #10
0
        private void CheckSectionFilters()
        {        //need change
            if (this.ExControl == null)
            {
                return;
            }
            if (this.ExControl.Report == null)
            {
                return;
            }
            WebbReport m_WebbReport = this.ExControl.Report as WebbReport;

            if (m_WebbReport == null)
            {
                return;
            }
            if (m_WebbReport.Template.SectionFilters.Count <= 0)
            {
                this.RemoveSectionFilters();
            }
            else
            {
                SectionFilterCollection reportSections = m_WebbReport.Template.SectionFilters;

                AdvFilterConvertor convertor = new AdvFilterConvertor();

                if (DataProvider.VideoPlayBackManager.AdvSectionType != AdvScoutType.None && m_WebbReport.Template.ReportScType != ReportScType.Custom)
                {
                    ReportScType sctype = AdvFilterConvertor.GetScType(m_WebbReport.Template.ReportScType, DataProvider.VideoPlayBackManager.AdvSectionType);   //2009-6-16 10:18:47@Simon Add this Code

                    reportSections = convertor.GetReportFilters(Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters, sctype);                       //add 1-19-2008 scott
                }

                this.CreateSectionGroupInfo(reportSections);
            }
        }
コード例 #11
0
        //10-14-2011 Scott Read
        public string CreatePlayerReport(DataSet ds, string strDestineFile, string dllpath, string strUserFolder, string[] templateFiles)
        {
            WebbLog.Instance.WriteLog("AdjustPDFFile");

            strDestineFile = AdjustPDFFile(strDestineFile);

            WebbLog.Instance.WriteLog("AdjustPDFFile Complete");

            if (!strUserFolder.EndsWith(@"\"))
            {
                strUserFolder += @"\";
            }

            WebbLog.Instance.WriteLog("new WebbReport");

            XtraReport[] preparedReports = new WebbReport[templateFiles.Length];

            WebbLog.Instance.WriteLog("new WebbReport Complete");

            try
            {
                if (System.IO.File.Exists(strDestineFile))
                {
                    System.IO.File.Delete(strDestineFile);
                }

                WebbLog.Instance.WriteLog("ReplaceImagePathAndUnionTable");

                ds = this.ReplaceImagePathAndUnionTable(ds, strUserFolder);

                WebbLog.Instance.WriteLog("ReplaceImagePathAndUnionTable Complete");

                DBSourceConfig dBSourceConfig = new DBSourceConfig();

                dBSourceConfig.WebbDBType = WebbDBTypes.CoachCRM;

                Webb.Reports.DataProvider.VideoPlayBackManager.PublicDBProvider = new WebbDataProvider(dBSourceConfig);

                WebbLog.Instance.WriteLog("for");

                for (int i = 0; i < templateFiles.Length; i++)
                {
                    WebbLog.Instance.WriteLog("1");

                    templateFiles[i] = templateFiles[i].Replace(@"/", @"\");

                    string strTemplate = strUserFolder + templateFiles[i];

                    if (strTemplate != string.Empty)
                    {
                        WebbLog.Instance.WriteLog("2");

                        WebbDataSource m_DBSource = new WebbDataSource();

                        m_DBSource.DataSource = ds.Copy();

                        WebbLog.Instance.WriteLog("3");

                        ArrayList m_Fields = new ArrayList();

                        foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
                        {
                            if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                            {
                                continue;
                            }

                            m_Fields.Add(m_col.ColumnName);
                        }

                        WebbLog.Instance.WriteLog("5");

                        Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

                        WebbLog.Instance.WriteLog("6");

                        Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;      //Set dataset for click event

                        WebbReport m_Report = new WebbReport();

                        WebbLog.Instance.WriteLog("7");

                        Webb.Utility.ReplaceRefPathInRepxFile(strTemplate, dllpath);    //Modify template file

                        WebbLog.Instance.WriteLog("8");

                        m_Report.LoadLayout(strTemplate);

                        WebbLog.Instance.WriteLog("9");

                        Webb.Utility.CurFileName = strTemplate; //06-23-2008@Scott

                        m_Report.SetDataSource(m_DBSource);

                        preparedReports[i] = m_Report;

                        WebbLog.Instance.WriteLog("10");
                    }
                }

                WebbLog.Instance.WriteLog("for complete");
            }
            catch (Exception ex)
            {
                return("Failed:in create report|" + ex.Message);
            }

            try
            {
                WebbLog.Instance.WriteLog("11");

                if (preparedReports.Length == 1)
                {
                    WebbLog.Instance.WriteLog("22");

                    preparedReports[0].CreatePdfDocument(strDestineFile);

                    WebbLog.Instance.WriteLog("33");
                }
                else
                {
                    WebbLog.Instance.WriteLog("44");

                    XtraReport.UnionReportsToPdf(preparedReports, strDestineFile);

                    WebbLog.Instance.WriteLog("55");
                }
            }
            catch (Exception ex2)
            {
                return("Failed:in create PDf Document|" + ex2.Message);
            }
            if (!System.IO.File.Exists(strDestineFile))
            {
                return("Failed:Undestine Pdf Error in create PDF");
            }

            return(strDestineFile);
        }
コード例 #12
0
        public string CreateGameReport(string[] strCommands, string strDestinePdfFile, string strDllPath)
        {
            Webb.Utility.CurReportMode = 2;

            strDestinePdfFile = AdjustPDFFile(strDestinePdfFile);

            if (strCommands == null)
            {
                return("Failed");
            }

            CommandManager m_CmdManager = new CommandManager(strCommands);

            DBSourceConfig m_Config = m_CmdManager.CreateDBConfig();

            WebbDataProvider m_DBProvider = new WebbDataProvider(m_Config);

            WebbDataSource m_DBSource = new WebbDataSource();

            try
            {
                m_DBProvider.GetDataSource(m_Config, m_DBSource);

                ArrayList m_Fields = new ArrayList();

                foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
                {
                    if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                    {
                        continue;
                    }

                    m_Fields.Add(m_col.ColumnName);
                }

                Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

                Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;      //Set dataset for click event

                Webb.Reports.DataProvider.VideoPlayBackManager.PublicDBProvider = m_DBProvider;

                Webb.Reports.DataProvider.VideoPlayBackManager.LoadAdvScFilters();      //Modified at 2009-1-19 13:48:30@Scott

                m_DBProvider.UpdateEFFDataSource(m_DBSource);
            }
            catch (Exception e)
            {
                return("Failed:at addding datasouce|" + e.Message);
            }


            if (m_Config.Templates.Count <= 0)
            {
                return("Failed:No tempaltes");
            }


            XtraReport[] preparedReports = new WebbReport[m_Config.Templates.Count];

            for (int i = 0; i < m_Config.Templates.Count; i++)
            {
                string strTemplateName = m_Config.Templates[i];

                WebbReport m_Report = null;

                try
                {
                    m_Report = m_CmdManager.CreateReport(strDllPath, strTemplateName);  //1 //create report with template
                }
                catch (Exception ex)
                {
                    return("Failed:Can't load report template" + ex.Message);
                }

                try
                {
                    m_Report.LoadAdvSectionFilters(m_Config.UserFolder);

                    m_Report.SetWatermark(m_Config.WartermarkImagePath);        //06-19-2008@Scott

                    m_Report.SetDataSource(m_DBSource);

                    preparedReports[i] = m_Report;
                }
                catch (Exception ex2)
                {
                    return("Failed:in create PDf Documnet\r\n" + strTemplateName + "\r\n" + ex2.Message);
                }
            }
            try
            {
                if (System.IO.File.Exists(strDestinePdfFile))
                {
                    System.IO.File.Delete(strDestinePdfFile);
                }

                XtraReport.UnionReportsToPdf(preparedReports, strDestinePdfFile);
            }
            catch (Exception ex3)
            {
                return("Failed:in create PDf Documnet|" + ex3.Message);
            }

            if (!System.IO.File.Exists(strDestinePdfFile))
            {
                return("Failed:some error happed,and report could not be created!");
            }

            return(strDestinePdfFile);
        }
コード例 #13
0
        public string CreateReport(string strInwFile, string strFile, string dllpath)
        {
            Webb.Utility.CurReportMode = 2;

            strFile = AdjustPDFFile(strFile);

            string[] args = InwManager.ReadInwFile(strInwFile);

            if (args == null)
            {
                return("Failed");
            }


            CommandManager m_CmdManager = new CommandManager(args);

            DBSourceConfig m_Config = m_CmdManager.CreateDBConfig();

            WebbDataProvider m_DBProvider = new WebbDataProvider(m_Config);

            WebbDataSource m_DBSource = new WebbDataSource();

            try
            {
                m_DBProvider.GetDataSource(m_Config, m_DBSource);

                ArrayList m_Fields = new ArrayList();

                foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
                {
                    if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                    {
                        continue;
                    }

                    m_Fields.Add(m_col.ColumnName);
                }

                Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

                Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;      //Set dataset for click event

                Webb.Reports.DataProvider.VideoPlayBackManager.PublicDBProvider = m_DBProvider;

                Webb.Reports.DataProvider.VideoPlayBackManager.LoadAdvScFilters();      //Modified at 2009-1-19 13:48:30@Scott

                m_DBProvider.UpdateEFFDataSource(m_DBSource);

                Webb.Reports.DataProvider.VideoPlayBackManager.ReadPictureDirFromRegistry();
            }
            catch (Exception e)
            {
                return("Failed:at addding datasouce|" + e.Message);
            }

            FilterInfoCollection filterInfos = m_DBSource.Filters;  //2009-7-1 11:09:08@Simon Add this Code  For Union Print

            if (filterInfos == null)
            {
                filterInfos = new FilterInfoCollection();
            }

            if (m_Config.Templates.Count <= 0)
            {
                return("Failed:No tempaltes");
            }

            string strTemplate = m_Config.Templates[0];

            string strTemplateName = m_CmdManager.GetTemplateName(strTemplate, '@');    //Modified at 2009-2-3 9:17:34@Scott

            WebbReport m_Report = null;

            try
            {
                m_Report = m_CmdManager.CreateReport(dllpath, strTemplateName); //1 //create report with template
            }
            catch (Exception ex)
            {
                return("Failed:Can't load report template" + ex.Message);
            }

            //Add attached filter here
            #region Modified Area

            m_DBSource.Filters = filterInfos.Copy();  //2009-7-1 11:09:04@Simon Add this Code  For Union Print

            string strFilterName = m_CmdManager.GetAttachedFilter(strTemplate, '@');

            if (strFilterName != string.Empty)  //2009-7-1 11:09:04@Simon For display Filternames In GameListInfo
            {
                if (!m_DBProvider.DBSourceConfig.Filters.Contains(strFilterName))
                {
                    FilterInfo filterInfo = new FilterInfo();

                    filterInfo.FilterName = strFilterName;

                    m_DBSource.Filters.Add(filterInfo);
                }
            }

            ScAFilter scaFilter = Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters.GetFilter(strFilterName);     //Modified at 2009-1-19 14:25:30@Scott

            AdvFilterConvertor convertor = new AdvFilterConvertor();

            DBFilter AdvFilter = convertor.GetReportFilter(scaFilter).Filter;

            if (AdvFilter != null || AdvFilter.Count > 0)  //2009-5-6 9:38:37@Simon Add this Code
            {
                AdvFilter.Add(m_Report.Template.Filter);
                m_Report.Template.Filter = AdvFilter;
            }

            SectionFilterCollection sectionFilter = m_Report.Template.SectionFilters.Copy();

            if (m_Report.Template.ReportScType == ReportScType.Custom)
            {
                m_Report.Template.SectionFilters = AdvFilterConvertor.GetCustomFilters(Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters, sectionFilter);
            }

            #endregion        //Modify at 2008-11-24 16:04:05@Scott

            try
            {
                if (System.IO.File.Exists(strFile))
                {
                    System.IO.File.Delete(strFile);
                }

                m_Report.LoadAdvSectionFilters(m_Config.UserFolder);

                m_Report.SetWatermark(m_Config.WartermarkImagePath);    //06-19-2008@Scott

                m_Report.SetDataSource(m_DBSource);

                m_Report.CreatePdfDocument(strFile);

                if (!System.IO.File.Exists(strFile))
                {
                    return("Failed:dll path " + dllpath);
                }
            }
            catch (Exception ex2)
            {
                return("Failed:in create PDf Documnet|" + ex2.Message);
            }

            return(strFile);
        }
コード例 #14
0
        public string ExportUnionReportToPdf(string strInwFile, string DestinationPdfFile)
        {
            Webb.Utility.CurReportMode = 2;

            DestinationPdfFile = AdjustPDFFile(DestinationPdfFile);

            string[] args = InwManager.ReadInwFile(strInwFile);

            if (args == null)
            {
                return("Failed");
            }

            CommandManager m_CmdManager = new CommandManager(args);

            DBSourceConfig m_Config = m_CmdManager.CreateDBConfig();

            WebbDataProvider m_DBProvider = new WebbDataProvider(m_Config);

            WebbDataSource m_DBSource = new WebbDataSource();

            try
            {
                m_DBProvider.GetDataSource(m_Config, m_DBSource);


                ArrayList m_Fields = new ArrayList();

                foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
                {
                    if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                    {
                        continue;
                    }

                    m_Fields.Add(m_col.ColumnName);
                }

                Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

                Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;      //Set dataset for click event

                Webb.Reports.DataProvider.VideoPlayBackManager.PublicDBProvider = m_DBProvider;

                //Webb.Reports.DataProvider.VideoPlayBackManager.ReadPictureDirFromRegistry();

                Webb.Reports.DataProvider.VideoPlayBackManager.LoadAdvScFilters();      //Modified at 2009-1-19 13:48:30@Scott

                m_DBProvider.UpdateEFFDataSource(m_DBSource);
            }
            catch (Exception e)
            {
                return("Failed:at addding datasouce|" + e.Message);
            }

            FilterInfoCollection filterInfos = m_DBSource.Filters;  //2009-7-1 11:09:08@Simon Add this Code  For Union Print

            if (filterInfos == null)
            {
                filterInfos = new FilterInfoCollection();
            }

            if (m_Config.Templates.Count <= 0)
            {
                return("Failed");
            }

            XtraReport[] preparedReports = new WebbReport[m_Config.Templates.Count];

            if (System.IO.File.Exists(DestinationPdfFile))
            {
                System.IO.File.Delete(DestinationPdfFile);
            }

            System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();

            string dllPath = System.IO.Path.GetDirectoryName(asm.Location);

            if (!dllPath.EndsWith(@"\"))
            {
                dllPath += @"\";
            }

            for (int i = 0; i < m_Config.Templates.Count; i++)
            {
                string strTemplate = m_Config.Templates[i];

                string strTemplateName = m_CmdManager.GetTemplateName(strTemplate, '@');        //Modified at 2009-2-3 9:17:34@Scott

                WebbReport m_Report = null;

                try
                {
                    m_Report = m_CmdManager.CreateReport(dllPath, strTemplateName);     //1 //create report with template
                }
                catch (Exception ex)
                {
                    return("Failed:in create report" + ex.Message);
                }

                //Add attached filter here
                #region Modified Area

                m_DBSource.Filters = filterInfos.Copy();  //2009-7-1 11:09:04@Simon Add this Code  For Union Print

                string strFilterName = m_CmdManager.GetAttachedFilter(strTemplate, '@');

                if (strFilterName != string.Empty)  //2009-7-1 11:09:04@Simon For display Filternames In GameListInfo
                {
                    if (!m_DBProvider.DBSourceConfig.Filters.Contains(strFilterName))
                    {
                        FilterInfo filterInfo = new FilterInfo();

                        filterInfo.FilterName = strFilterName;

                        m_DBSource.Filters.Add(filterInfo);
                    }
                }

                ScAFilter scaFilter = Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters.GetFilter(strFilterName); //Modified at 2009-1-19 14:25:30@Scott

                AdvFilterConvertor convertor = new AdvFilterConvertor();

                DBFilter AdvFilter = convertor.GetReportFilter(scaFilter).Filter;

                if (AdvFilter != null || AdvFilter.Count > 0)  //2009-5-6 9:38:37@Simon Add this Code
                {
                    AdvFilter.Add(m_Report.Template.Filter);
                    m_Report.Template.Filter = AdvFilter;
                }
                #endregion        //Modify at 2008-11-24 16:04:05@Scott

                try
                {
                    m_Report.LoadAdvSectionFilters(m_Config.UserFolder);

                    m_Report.SetWatermark(m_Config.WartermarkImagePath);        //06-19-2008@Scott

                    m_Report.SetDataSource(m_DBSource);

                    preparedReports[i] = m_Report;
                }
                catch (Exception ex2)
                {
                    return("Failed:load report|" + ex2.Message);
                }
            }
            try
            {
                XtraReport.UnionReportsToPdf(preparedReports, DestinationPdfFile);
            }
            catch (Exception ex3)
            {
                return("Failed:in create PDf Documnet|" + ex3.Message);
            }

            if (!System.IO.File.Exists(DestinationPdfFile))
            {
                return("Failed:file didn't exist");
            }

            return(DestinationPdfFile);
        }
コード例 #15
0
        public string CreateReport(DataSet ds, string strDestineFile, string dllpath, string strUserFolder, string TemplateFileName, int[] TablesIndex)
        {
            strDestineFile = AdjustPDFFile(strDestineFile);

            if (!strUserFolder.EndsWith(@"\"))
            {
                strUserFolder += @"\";
            }

            string[] templateFiles = TemplateFileName.Split(new char[] { ',' });

            XtraReport[] preparedReports = new WebbReport[templateFiles.Length];

            if (System.IO.File.Exists(strDestineFile))
            {
                System.IO.File.Delete(strDestineFile);
            }

            try
            {
                for (int i = 0; i < templateFiles.Length; i++)
                {
                    templateFiles[i] = strUserFolder + templateFiles[i];

                    string strTemplate = templateFiles[i];

                    if (strTemplate != string.Empty)
                    {
                        int index = 0;

                        if (i < TablesIndex.Length)
                        {
                            index = TablesIndex[i];
                        }

                        DataTable table = ds.Tables[index].Copy();

                        WebbDataSource m_DBSource = new WebbDataSource();

                        m_DBSource.DataSource.Tables.Add(table);

                        ArrayList m_Fields = new ArrayList();

                        foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
                        {
                            if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                            {
                                continue;
                            }

                            m_Fields.Add(m_col.ColumnName);
                        }

                        Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

                        Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;      //Set dataset for click event

                        WebbReport m_Report = new WebbReport();

                        Webb.Utility.ReplaceRefPathInRepxFile(strTemplate, dllpath);    //Modify template file

                        m_Report.LoadLayout(strTemplate);

                        Webb.Utility.CurFileName = strTemplate; //06-23-2008@Scott

                        m_Report.SetDataSource(m_DBSource);

                        preparedReports[i] = m_Report;
                    }
                }
            }
            catch (Exception ex)
            {
                return("Failed:in create report|" + ex.Message);
            }

            try
            {
                if (preparedReports.Length == 1)
                {
                    preparedReports[0].CreatePdfDocument(strDestineFile);
                }
                else
                {
                    XtraReport.UnionReportsToPdf(preparedReports, strDestineFile);
                }
            }
            catch (Exception ex2)
            {
                return("Failed:in create PDf Document|" + ex2.Message);
            }
            if (!System.IO.File.Exists(strDestineFile))
            {
                return("Failed:Undestine Pdf Error in create PDF");
            }

            return(strDestineFile);
        }
コード例 #16
0
        static void Main(string[] args)
        {
            if (args == null || (args.Length != 1 && args.Length != 10))
            {
                return;
            }

            ReportFileType fileType = ReportFileType.Report;

            DataSet dsDataset = null;

            if (args.Length == 1)
            {
                string filename = args[0];

                if (filename.IndexOf("\n") > 0)
                {
                    args = filename.Split("\n".ToCharArray());

                    if (args.Length != 10)
                    {
                        return;
                    }
                }
                else if (filename.EndsWith(".wmks"))
                {
                    wmksFileManager.WriteFile(filename);

                    return;
                }
                else if (filename.EndsWith(".repx"))
                {
                    string Inwfilename = filename.Replace(".repx", ".inw");

                    args = InwManager.ReadInwFile(Inwfilename);

                    fileType = ReportFileType.InwFile;

                    if (args == null)
                    {
                        args = ConfigFileManager.ReadDataConfig(filename);

                        fileType = ReportFileType.BaseXmlFile;
                    }
                }
                else if (filename.EndsWith(".repw"))
                {
                    string Inwfilename = filename.Replace(".repw", ".inw");

                    args = InwManager.ReadInwFile(Inwfilename);

                    fileType = ReportFileType.InwFile;

                    if (args == null)
                    {
                        args = ConfigFileManager.ReadDataConfig(filename);

                        fileType = ReportFileType.BaseXmlFile;
                    }
                }
                else if (filename.EndsWith(".inw"))
                {
                    args = InwManager.ReadInwFile(filename);

                    fileType = ReportFileType.InwFile;
                }
                else if (filename.EndsWith(".wrdf"))
                {
                    WrdfFileManager.ReadDataConfig(filename, out dsDataset, out args);

                    fileType = ReportFileType.WebbDataFile;
                }
                else
                {
                    return;
                }
                if (args == null)
                {
                    return;
                }
            }

            if (args[3] == "DBConn:" && args[8] == @"Files:")
            {
                return;
            }

            Webb.Utility.CurReportMode = 1;             //set browser mode

            ThreadStart ts = new ThreadStart(LoadingThreadProc);

            Thread thread = new Thread(ts);

            thread.Start();

            CommandManager m_CmdManager = new CommandManager(args);

            //Calculate data source
            if (thread.IsAlive)
            {
                LoadingForm.MessageText = "Loading Data Source...";
            }

            DBSourceConfig m_Config = m_CmdManager.CreateDBConfig();

            if (m_Config.Templates.Count == 0)
            {
                if (thread.IsAlive)
                {
                    LoadingForm.Close();

                    thread.Abort();
                }

                Webb.Utilities.TopMostMessageBox.ShowMessage("Invalid template report name!", MessageBoxButtons.OK);

                Environment.Exit(0);
            }


            if (m_CmdManager.PrintDirectly)
            {
                if (PrinterSettings.InstalledPrinters.Count == 0)
                {
                    if (thread.IsAlive)
                    {
                        LoadingForm.Close();

                        thread.Abort();
                    }

                    Webb.Utilities.TopMostMessageBox.ShowMessage("No printer driver is installed!", MessageBoxButtons.OK);

                    Environment.Exit(0);
                }
            }

            WebbDataProvider m_DBProvider = new WebbDataProvider(m_Config);

            WebbDataSource m_DBSource = new WebbDataSource();

            if (fileType == ReportFileType.WebbDataFile && dsDataset == null)
            {
                m_DBSource.DataSource = dsDataset.Copy();
            }
            else
            {
                m_DBProvider.GetDataSource(m_Config, m_DBSource);
            }

            ArrayList m_Fields = new ArrayList();

            foreach (System.Data.DataColumn m_col in m_DBSource.DataSource.Tables[0].Columns)
            {
                if (m_col.Caption == "{EXTENDCOLUMNS}" && m_col.ColumnName.StartsWith("C_"))
                {
                    continue;
                }

                m_Fields.Add(m_col.ColumnName);
            }


            Webb.Reports.DataProvider.VideoPlayBackManager.PublicDBProvider = m_DBProvider;

            Webb.Data.PublicDBFieldConverter.SetAvailableFields(m_Fields);

            Webb.Reports.DataProvider.VideoPlayBackManager.LoadAdvScFilters();  //Modified at 2009-1-19 13:48:30@Scott

            Webb.Reports.DataProvider.VideoPlayBackManager.ReadPictureDirFromRegistry();

            m_DBProvider.UpdateEFFDataSource(m_DBSource);

            Webb.Reports.DataProvider.VideoPlayBackManager.DataSource = m_DBSource.DataSource;  //Set dataset for click event


            //Loading report template
            if (thread.IsAlive)
            {
                LoadingForm.MessageText = "Loading Report Template...";
            }

            #region Modified Area
            ArrayList printedReports = new ArrayList();

            ArrayList invalidateReports = new ArrayList();

            bool unionprint = m_CmdManager.UnionPrint;

            #endregion                    //End Modify at 2008-10-10 14:29:49@Simon


            FilterInfoCollection filterInfos = m_DBSource.Filters;            //2009-7-1 11:09:08@Simon Add this Code  For Union Print

            if (filterInfos == null)
            {
                filterInfos = new FilterInfoCollection();
            }

            string printerName = m_CmdManager.PrinterName;

            foreach (string strTemplate in m_Config.Templates)
            {
                string strTemplateName = m_CmdManager.GetTemplateName(strTemplate, '@');                //Modified at 2009-2-3 9:17:34@Scott

                WebbReport m_Report = null;

                try
                {
                    m_Report = m_CmdManager.CreateReport(Application.ExecutablePath, strTemplateName);                          //1 //create report with template

                    //09-01-2011@Scott
                    if (m_Config.WebbDBType == WebbDBTypes.WebbPlaybook)
                    {
                        SetReportHeader(m_Config, m_Report, m_Config.HeaderName);  //Add this code at 2011-7-28 16:23:41@simon
                    }
                    else
                    {
                        string strHeader = m_CmdManager.GetAttachedHeader(strTemplate, '@');

                        SetReportHeader(m_Config, m_Report, strHeader);
                    }
                    //End
                }
                catch (Exception ex)
                {
                    Webb.Utilities.TopMostMessageBox.ShowMessage("Error", "Can't load report template!\r\n" + ex.Message, MessageBoxButtons.OK);

                    m_Report = new WebbReport();
                }

                bool Canopen = CheckedUserRight(m_Report.LicenseLevel, m_Config.WebbDBType);

                string filename = System.IO.Path.GetFileNameWithoutExtension(strTemplateName);

                if (!Canopen)
                {
                    invalidateReports.Add(filename);
                }
                else
                {
                    //Add attached filter here
                    #region Modified Area

                    m_DBSource.Filters = filterInfos.Copy();                     //2009-7-1 11:09:04@Simon Add this Code  For Union Print

                    string strFilterName = m_CmdManager.GetAttachedFilter(strTemplate, '@');

                    if (strFilterName != string.Empty)                   //2009-7-1 11:09:04@Simon For display Filternames In GameListInfo
                    {
                        if (!m_DBProvider.DBSourceConfig.Filters.Contains(strFilterName))
                        {
                            FilterInfo filterInfo = new FilterInfo();

                            filterInfo.FilterName = strFilterName;

                            m_DBSource.Filters.Add(filterInfo);
                        }
                    }

                    ScAFilter          scaFilter = Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters.GetFilter(strFilterName);            //Modified at 2009-1-19 14:25:30@Scott
                    AdvFilterConvertor convertor = new AdvFilterConvertor();
                    DBFilter           AdvFilter = convertor.GetReportFilter(scaFilter).Filter;

                    if (AdvFilter != null || AdvFilter.Count > 0)               //2009-5-6 9:38:37@Simon Add this Code
                    {
                        AdvFilter.Add(m_Report.Template.Filter);
                        m_Report.Template.Filter = AdvFilter;
                    }

                    SectionFilterCollection sectionFilter = m_Report.Template.SectionFilters.Copy();

                    if (m_Report.Template.ReportScType == ReportScType.Custom)
                    {
                        m_Report.Template.SectionFilters = AdvFilterConvertor.GetCustomFilters(Webb.Reports.DataProvider.VideoPlayBackManager.AdvReportFilters, sectionFilter);
                    }

                    #endregion                            //Modify at 2008-11-24 16:04:05@Scott

                    //Set data source
                    if (thread.IsAlive)
                    {
                        LoadingForm.MessageText = "Set Data Source...";
                        LoadingForm.ProcessText = Webb.Utility.GetCurFileName();
                    }

                    m_Report.LoadAdvSectionFilters(m_Config.UserFolder);

                    m_Report.SetWatermark(m_Config.WartermarkImagePath);                        //06-19-2008@Scott

                    m_Report.SetDataSource(m_DBSource);
                }

                if (m_CmdManager.PrintDirectly)
                {
                    if (!Canopen)
                    {
                        if (!unionprint)
                        {
                            Webb.Utilities.TopMostMessageBox.ShowMessage("LicenseLevel Error", "This report is not designed for your Webb application!" + "", MessageBoxButtons.OK);
                        }
                        continue;
                    }
                    else
                    {
                        printedReports.Add(m_Report);
                    }

                    #region Modified Area
                    if (unionprint)
                    {
                        continue;                                       //Modified at 2008-10-10 10:04:37@Simon
                    }
                    //Print
                    if (Webb.Utility.CancelPrint)
                    {
                        if (thread.IsAlive)
                        {
                            LoadingForm.Close();

                            thread.Join();
                        }

                        return;
                    }

                    if (thread.IsAlive)
                    {
                        LoadingForm.MessageText = "Printing...";
                    }

                    if (printerName != string.Empty)
                    {
                        if (!PrinterExist(printerName))
                        {
                            Webb.Utilities.TopMostMessageBox.ShowMessage("Failed to Print", "WRB Cann't Find The Printer '" + printerName + "' in you system,please check the printer setting!",
                                                                         MessageBoxButtons.OK);
                            Environment.Exit(-1);
                        }
                        m_Report.Print(printerName);
                    }
                    else
                    {
                        m_Report.Print();
                    }
                    #endregion                            //End Modify at 2008-10-9 16:54:58@Simon
                }
                else
                {                //Browser
                    //Create report
                    if (thread.IsAlive)
                    {
                        LoadingForm.MessageText = "Creating Report Browser...";
                    }

                    WebbRepBrowser m_Browser = new WebbRepBrowser();

                    //m_Browser.LoadReport(new WebbReport[]{m_Report,m_Report});	//multiply report

                    if (m_Config.WebbDBType.ToString().ToLower().StartsWith("webbvictory"))
                    {
                        m_Browser.TopMost = true;
                    }
                    else
                    {
                        m_Browser.TopMost = false;
                    }
                    if (Canopen)
                    {
                        m_Browser.LoadReport(m_Report);
                    }

                    if (thread.IsAlive)
                    {
                        LoadingForm.Close();

                        thread.Join();
                    }

                    Webb.Reports.DataProvider.VideoPlayBackManager.PublicBrowser = m_Browser;                           //05-04-2008@Scott

                    if (!Canopen)
                    {
                        m_Browser.ReportName = filename;

                        m_Browser.InvertZorder();
//						Webb.Utilities.TopMostMessageBox.ShowMessage("LicenseLevel Error", "This report is not designed for your Webb application!\n So it would not open" + "", MessageBoxButtons.OK);
                    }

                    Application.Run(m_Browser);
                }
            }
            //add these codes for join all reports to print in only one document
            #region Modified Area

            WebbReport[] AllReportsToPrint = new WebbReport[printedReports.Count];

            for (int i = 0; i < printedReports.Count; i++)
            {
                AllReportsToPrint[i] = printedReports[i] as WebbReport;
            }

            if (m_CmdManager.PrintDirectly && unionprint)
            {
                if (AllReportsToPrint.Length == 0)
                {
                    Webb.Utilities.TopMostMessageBox.ShowMessage("No document", "No document could be print!",
                                                                 MessageBoxButtons.OK);
                }
                else
                {
                    if (thread.IsAlive)
                    {
                        LoadingForm.MessageText = "Printing...";

                        LoadingForm.ProcessText = "Union Printing Documents";
                    }

                    if (invalidateReports.Count > 0)
                    {
                        Webb.Utilities.AutoClosedMessageBox.ShowMessage(invalidateReports);
                    }
                    if (printerName != string.Empty)
                    {
                        if (!PrinterExist(printerName))
                        {
                            Webb.Utilities.TopMostMessageBox.ShowMessage("Failed to Print", "WRB Cann'i Find The Printer '" + printerName + "' in you system,\nplease check the printer setting!",
                                                                         MessageBoxButtons.OK);
                            Environment.Exit(-1);
                        }

                        WebbReport.Print(printerName, AllReportsToPrint);
                    }
                    else
                    {
                        WebbReport.Print(AllReportsToPrint);
                    }
                }
            }
            #endregion                    //End Modify at 2008-10-10 9:42:07@Simon

            if (thread.IsAlive)
            {
                LoadingForm.Close();

                thread.Join();
            }
        }
コード例 #17
0
        public static void SetReportHeader(DBSourceConfig config, WebbReport webbReport, string strHeader)
        {
            //09-01-2011@Scott
            if (strHeader == string.Empty)
            {
                return;
            }
            //End

            string strReportHeader = strHeader;

            if (strReportHeader == null || strReportHeader.Trim() == string.Empty || strReportHeader.ToLower() == "none")
            {
                return;
            }

            // report header
            DevExpress.XtraReports.UI.Band band = webbReport.Bands[DevExpress.XtraReports.UI.BandKind.ReportHeader];

            if (band != null)
            {
                foreach (DevExpress.XtraReports.UI.XRControl xrControl in band.Controls)
                {
                    if (!(xrControl is DevExpress.XtraReports.UI.WinControlContainer))
                    {
                        continue;
                    }

                    Control c = (xrControl as DevExpress.XtraReports.UI.WinControlContainer).WinControl;

                    if (c is LabelControl)
                    {
                        if (config.WebbDBType == WebbDBTypes.WebbPlaybook || (c as LabelControl).IsTitle)    //09-01-2011 Scott
                        {
                            (c as LabelControl).LabelControlView.Text = strReportHeader;

                            return;
                        }
                    }
                }
            }

            // page header
            band = webbReport.Bands[DevExpress.XtraReports.UI.BandKind.PageHeader];

            if (band == null)
            {
                return;
            }

            foreach (DevExpress.XtraReports.UI.XRControl xrControl in band.Controls)
            {
                if (!(xrControl is DevExpress.XtraReports.UI.WinControlContainer))
                {
                    continue;
                }

                Control c = (xrControl as DevExpress.XtraReports.UI.WinControlContainer).WinControl;

                if (c is LabelControl && (config.WebbDBType == WebbDBTypes.WebbPlaybook || (c as LabelControl).IsTitle))    //09-01-2011 Scott
                {
                    (c as LabelControl).LabelControlView.Text = strReportHeader;

                    return;
                }
            }
        }
コード例 #18
0
        public bool UpdateControlStyle(ref ReportSetting setting)
        {
            if (setting.WebbReport == null)
            {
                return(false);
            }

            WebbReport webbReport = setting.WebbReport;

            if (!this.StyleName.ToLower().StartsWith("basic"))
            {
                if (this._SerializableWatermark != null && setting.WaterMarkOption.UseWaterMark)
                {
                    setting.WebbReport.Watermark = this._SerializableWatermark.ConvertTo();
                }
            }

            Band band = webbReport.Bands[BandKind.Detail];

            foreach (XRControl xrControl in band.Controls)
            {
                if (!(xrControl is WinControlContainer))
                {
                    continue;
                }

                Control c = (xrControl as WinControlContainer).WinControl;

                if (setting.TemplateType == TemplateType.PlayList)
                {
                    if (!(c is GridControl))
                    {
                        continue;
                    }

                    if (this.ExcontrolStyles != null)
                    {
                        GridView gridView = (c as GridControl).GridView;

                        Font rowFont = gridView.Styles.RowStyle.Font;

                        if (!this.ExcontrolStyles.IsAllStyleFontEdited())
                        {
                            this.ExcontrolStyles.RowStyle.Font = (Font)rowFont.Clone();

                            this.ExcontrolStyles.AlternateStyle.Font = (Font)rowFont.Clone();

                            this.ExcontrolStyles.HeaderStyle.Font = (Font)rowFont.Clone();
                        }

                        if (!this.ExcontrolStyles.IsFontEdit(this.ExcontrolStyles.SectionStyle.Font))
                        {
                            this.ExcontrolStyles.SectionStyle.Font = new Font(this.ExcontrolStyles.RowStyle.Font.FontFamily.Name, this.ExcontrolStyles.RowStyle.Font.Size + 2, this.ExcontrolStyles.RowStyle.Font.Style | FontStyle.Bold);
                        }

                        this.ExcontrolStyles.SectionStyle.HorzAlignment = DevExpress.Utils.HorzAlignment.Near;

                        DevExpress.XtraPrinting.BorderSide sides = this.ExcontrolStyles.RowStyle.Sides;

                        if (sides == DevExpress.XtraPrinting.BorderSide.None)
                        {
                            foreach (GridColumn column in gridView.GridInfo.Columns)
                            {
                                if (column.Style.IsEdited())
                                {
                                    column.Style.Sides = DevExpress.XtraPrinting.BorderSide.None;
                                }
                            }
                        }

                        gridView.Styles.ApplyStyle(this.ExcontrolStyles);
                    }
                    return(true);
                }
                else if (setting.TemplateType == TemplateType.Group)
                {
                    if (!(c is GroupingControl))
                    {
                        continue;
                    }

                    if (this.ExcontrolStyles != null)
                    {
                        GroupView groupView = (c as GroupingControl)._GroupView;

                        Font rowFont = groupView.Styles.RowStyle.Font;

                        if (!this.ExcontrolStyles.IsAllStyleFontEdited())
                        {
                            this.ExcontrolStyles.RowStyle.Font = (Font)rowFont.Clone();

                            this.ExcontrolStyles.AlternateStyle.Font = (Font)rowFont.Clone();

                            this.ExcontrolStyles.HeaderStyle.Font = (Font)rowFont.Clone();
                        }

                        if (!this.ExcontrolStyles.IsFontEdit(this.ExcontrolStyles.SectionStyle.Font))
                        {
                            this.ExcontrolStyles.SectionStyle.Font = new Font(this.ExcontrolStyles.RowStyle.Font.FontFamily.Name, this.ExcontrolStyles.RowStyle.Font.Size + 2, this.ExcontrolStyles.RowStyle.Font.Style | FontStyle.Bold);
                        }

                        this.ExcontrolStyles.SectionStyle.HorzAlignment = DevExpress.Utils.HorzAlignment.Near;

                        DevExpress.XtraPrinting.BorderSide sides = this.ExcontrolStyles.RowStyle.Sides;

                        if (sides == DevExpress.XtraPrinting.BorderSide.None)
                        {
                            RemoveSides(groupView.RootGroupInfo);
                        }

                        groupView.Styles.ApplyStyle(this.ExcontrolStyles);
                    }
                }
            }
            return(true);
        }