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); }