From f39aff62c89c7c68628e845dacb1291842e3dfbe Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Fri, 12 Feb 2010 17:42:19 +0000 Subject: [PATCH] Add patches from Alex Rednic , center page in ReportViewer, better drawing of bitmap git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5502 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../SampleReports/Ilist/ContributorsList.srd | 37 +++++----- .../NoConnectionReport.srd | 35 +++++----- .../src/SharpReportSamples/MainForm.cs | 9 ++- .../Project/ReportViewer/ReportViewer.cs | 67 ++++++++++++------- 4 files changed, 83 insertions(+), 65 deletions(-) diff --git a/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd b/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd index a004541f47..9818ad597d 100644 --- a/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd +++ b/samples/SharpDevelopReports/SampleReports/Ilist/ContributorsList.srd @@ -2,28 +2,27 @@ - 8, 8 - 827, 1169 - - False - - 50 - No Data for this Report Microsoft Sans Serif, 10pt - DataReport + PushData + 50 True - Text - Millimeter - 50 - - 5, 5, 5, 5 - 50 - PushData - 50 - Report1 + No Data for this Report + 50 + 827, 1169 + 5, 5, 5, 5 + 50 + Text + False + Report1 + 50 + + Millimeter + + DataReport + @@ -87,8 +86,8 @@ 661, 42 False Window - D:\Reporting3.0_branches\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif - D:\Reporting3.0_branches\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif + ..\Logos\Bannerbeige2.gif + D:\SharpDevelop3.0_CHECKOUT\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif Flat diff --git a/samples/SharpDevelopReports/SampleReports/ProviderIndependent/NoConnectionReport.srd b/samples/SharpDevelopReports/SampleReports/ProviderIndependent/NoConnectionReport.srd index 60edf99fb9..955d51965e 100644 --- a/samples/SharpDevelopReports/SampleReports/ProviderIndependent/NoConnectionReport.srd +++ b/samples/SharpDevelopReports/SampleReports/ProviderIndependent/NoConnectionReport.srd @@ -2,25 +2,11 @@ - 8, 8 - 827, 1169 - SELECT * FROM Kategorien - False - - 50 - No Data for this Report Microsoft Sans Serif, 10pt - DataReport + PullData + 50 True - Text - Millimeter - 50 - - 5, 5, 5, 5 - 50 - PullData - 50 Kategorie-Nr @@ -39,13 +25,26 @@ System.Byte[] - Report1 + No Data for this Report + 50 + 827, 1169 + 5, 5, 5, 5 + 50 + Text p1 aaaaa + False + Report1 + 50 + + Millimeter + SELECT * FROM Kategorien + DataReport + @@ -311,7 +310,7 @@ Gainsboro False None - 'This Report contains : ' + count() + ' DataRows' + ='This Report contains : ' + count() + ' DataRows' 5, 4 MiddleCenter True diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs index 4648b96f18..e879438510 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs @@ -135,7 +135,7 @@ namespace SharpReportSamples { this.RunProviderIndependent(reportName); }; - this.previewControl1.SetupAsynchron(reportName,parameters); + this.previewControl1.RunReport(reportName,parameters); } @@ -152,7 +152,12 @@ namespace SharpReportSamples private void RunContributors (string fileName) { ReportModel model = ReportEngine.LoadReportModel(fileName); - + + // sorting is done here, but, be carefull, misspelled fieldnames will cause an exception + + //ReportSettings settings = model.ReportSettings; + //settings.SortColumnCollection.Add(new SortColumn("First",System.ComponentModel.ListSortDirection.Ascending)); + // Both variable declarations are valid ContributorCollection contributorCollection = ContributorsReportData.CreateContributorsList(); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs index f0e3e32fc9..b7b00b9658 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs @@ -128,11 +128,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.dataManager = DataManagerFactory.CreateDataManager(reportModel,parameters); RunDataReport (reportModel,dataManager); } - */ - } + */ + } - public void RunReport (ReportModel reportModel,DataTable dataTable,ReportParameters parameters) + public void RunReport (ReportModel reportModel,DataTable dataTable,ReportParameters parameters) { if (reportModel == null) { throw new ArgumentNullException("reportModel"); @@ -143,8 +143,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer RunReport (reportModel,DataManagerFactory.CreateDataManager(reportModel,dataTable)); } - - [Obsolete("Use RunReport(reportModel,dataTable,parameters)")] + + [Obsolete("Use RunReport(reportModel,dataTable,parameters)")] public void SetupAsynchron (ReportModel reportModel,DataTable dataTable,ReportParameters parameters) { RunReport(reportModel,dataTable,parameters); @@ -156,7 +156,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer throw new ArgumentNullException("dataTable"); } SetupAsynchron (reportModel,DataManagerFactory.CreateDataManager(reportModel,dataTable)); - */ + */ } @@ -190,7 +190,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.SetupViewer(reportModel); this.dataManager = dataManager; RunDataReport(reportModel,dataManager); - */ + */ } #region Rendering @@ -218,7 +218,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer #endregion - + #region Events from worker @@ -270,8 +270,8 @@ namespace ICSharpCode.Reports.Core.ReportViewer default: break; } - } - */ + } + */ #endregion @@ -353,6 +353,10 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.Invalidate(true); this.Update(); this.AdjustDrawArea(); + if ((this.pages != null) && (pageNumber < pages.Count)) + { + this.ShowSelectedPage(); + } EventHelper.Raise(this.PreviewLayoutChanged,this,e); } @@ -437,9 +441,20 @@ namespace ICSharpCode.Reports.Core.ReportViewer } + private void CenterDisplayPanel() + { + if (this.Width > drawingPanel.Width) + drawingPanel.Left = (this.Width - drawingPanel.Width) / 2; + else + drawingPanel.Left = 3; + } + + + private void DrawingPanelPaint(object sender, PaintEventArgs e) { e.Graphics.Clear(this.drawingPanel.BackColor); + CenterDisplayPanel(); if (this.bitmap != null) { e.Graphics.DrawImage(this.bitmap,0,0); } @@ -449,12 +464,12 @@ namespace ICSharpCode.Reports.Core.ReportViewer private Bitmap CreateBitmap (ExporterPage page) { Bitmap bm = new Bitmap(this.drawingPanel.ClientSize.Width,this.drawingPanel.ClientSize.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); - + using (Graphics gr = Graphics.FromImage(bm)) { // Reset Transform to org. Value gr.Clear(this.drawingPanel.BackColor); - // this.Invalidate(); + // this.Invalidate(); gr.ScaleTransform(1F,1F); gr.Clear(this.drawingPanel.BackColor); gr.ScaleTransform(this.zoom,this.zoom); @@ -573,9 +588,9 @@ namespace ICSharpCode.Reports.Core.ReportViewer saveDialog.ValidateNames = true; if(saveDialog.ShowDialog() == DialogResult.OK){ using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(this.reportSettings, - this.pages, - saveDialog.FileName, - true)) { + this.pages, + saveDialog.FileName, + true)) { pdfRenderer.Start(); pdfRenderer.RenderOutput(); pdfRenderer.End(); @@ -622,7 +637,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer ReportModel m = ReportEngine.LoadReportModel(fileName); this.SetupAsynchron(m,parameters); } - */ + */ /// /// For internal use only /// @@ -646,7 +661,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer } this.bgw.RunWorkerAsync(reportModel); } - */ + */ #region PushModel - IList /* @@ -677,7 +692,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.bgw.DoWork += new DoWorkEventHandler(PushPullWorker); this.bgw.RunWorkerAsync(reportModel); } - */ + */ #endregion /* @@ -689,7 +704,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer this.bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(BackgroundWorker_RunWorkerCompleted); this.bgw.ProgressChanged += new ProgressChangedEventHandler(BackgroundWorker_ProgressChanged); } - */ + */ #region Worker @@ -699,7 +714,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer BackgroundWorker worker = sender as BackgroundWorker; e.Result = RunFormSheet((ReportModel)e.Argument,worker,e); } - */ + */ /* private void PushPullWorker(object sender,DoWorkEventArgs e) @@ -707,7 +722,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer BackgroundWorker worker = sender as BackgroundWorker; e.Result = RunDataReport((ReportModel)e.Argument,this.dataManager,worker,e); } - */ + */ #endregion @@ -726,15 +741,15 @@ namespace ICSharpCode.Reports.Core.ReportViewer } this.ShowCompleted(); } -*/ -/* + */ + /* private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.pageNumber = e.ProgressPercentage; this.ShowSelectedPage(); } -*/ + */ #endregion #region Worker @@ -773,7 +788,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer } return null; } - */ + */ /* private object RunDataReport (ReportModel reportModel,IDataManager data,BackgroundWorker worker,DoWorkEventArgs e) @@ -799,7 +814,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer } return null; } - */ + */ #endregion #endregion