Browse Source

work on

http://community.sharpdevelop.net/forums/t/9715.aspx
Zoom in ReportViewer.cs

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5462 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
e3de9aee67
  1. 13
      samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs
  2. 1
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs
  3. 42
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

13
samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs

@ -97,7 +97,7 @@ namespace SharpReportSamples
} }
private void RunStandardReport(string reportName) private void RunStandardReport(string reportName)
{ {
string s = Path.GetFileNameWithoutExtension(reportName); string s = Path.GetFileNameWithoutExtension(reportName);
@ -106,7 +106,6 @@ namespace SharpReportSamples
} else if (s == "NoConnectionReport") { } else if (s == "NoConnectionReport") {
this.RunProviderIndependent(reportName); this.RunProviderIndependent(reportName);
} }
else { else {
ReportParameters parameters = ReportEngine.LoadParameters(reportName); ReportParameters parameters = ReportEngine.LoadParameters(reportName);
@ -114,11 +113,15 @@ namespace SharpReportSamples
if ((parameters != null)&& (parameters.SqlParameters.Count > 0)){ if ((parameters != null)&& (parameters.SqlParameters.Count > 0)){
parameters.SqlParameters[0].ParameterValue = "I'm the Parameter"; parameters.SqlParameters[0].ParameterValue = "I'm the Parameter";
} }
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.RunStandardReport(reportName);
};
this.previewControl1.SetupAsynchron(reportName,parameters); this.previewControl1.SetupAsynchron(reportName,parameters);
} }
} }
#region ProviderIndependent #region ProviderIndependent
private void RunProviderIndependent (string reportName) private void RunProviderIndependent (string reportName)
{ {
@ -129,6 +132,10 @@ namespace SharpReportSamples
parameters.ConnectionObject = con; parameters.ConnectionObject = con;
parameters.SqlParameters[0].ParameterValue = "Provider Independent"; parameters.SqlParameters[0].ParameterValue = "Provider Independent";
this.previewControl1.PreviewLayoutChanged += delegate (object sender, EventArgs e)
{
this.RunProviderIndependent(reportName);
};
this.previewControl1.SetupAsynchron(reportName,parameters); this.previewControl1.SetupAsynchron(reportName,parameters);
} }

1
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/SecondaryViews/ReportViewerSecondaryView.cs

@ -73,7 +73,6 @@ namespace ICSharpCode.Reports.Addin
} }
protected override void SaveToPrimary() protected override void SaveToPrimary()
{ {
// throw new NotImplementedException(); // throw new NotImplementedException();

42
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportViewer/ReportViewer.cs

@ -75,15 +75,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
#region Asyncron use of PageBuilder #region Asyncron use of PageBuilder
private void SetupViewer (ReportModel reportModel)
{
this.pages = new PagesCollection();
this.reportSettings = reportModel.ReportSettings;
this.cancelButton.Enabled = true;
this.AdjustDrawArea();
}
public void SetupAsynchron (string fileName,ReportParameters parameters) public void SetupAsynchron (string fileName,ReportParameters parameters)
{ {
if (String.IsNullOrEmpty(fileName)) { if (String.IsNullOrEmpty(fileName)) {
@ -116,6 +107,7 @@ namespace ICSharpCode.Reports.Core.ReportViewer
this.bgw.RunWorkerAsync(reportModel); this.bgw.RunWorkerAsync(reportModel);
} }
#region PushModel - IList
public void SetupAsynchron (ReportModel reportModel,DataTable dataTable,ReportParameters parameters) public void SetupAsynchron (ReportModel reportModel,DataTable dataTable,ReportParameters parameters)
{ {
@ -128,7 +120,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
SetupAsynchron (reportModel,DataManagerFactory.CreateDataManager(reportModel,dataTable)); SetupAsynchron (reportModel,DataManagerFactory.CreateDataManager(reportModel,dataTable));
} }
public void SetupAsynchron (ReportModel reportModel,IDataManager dataManager) public void SetupAsynchron (ReportModel reportModel,IDataManager dataManager)
{ {
if (reportModel == null) { if (reportModel == null) {
@ -137,13 +128,26 @@ namespace ICSharpCode.Reports.Core.ReportViewer
if (dataManager == null) { if (dataManager == null) {
throw new ArgumentNullException("dataManager"); throw new ArgumentNullException("dataManager");
} }
this.dataManager = dataManager;
this.SetupViewer(reportModel); this.SetupViewer(reportModel);
SetupWorker(); SetupWorker();
this.dataManager = dataManager;
this.bgw.DoWork += new DoWorkEventHandler(PushPullWorker); this.bgw.DoWork += new DoWorkEventHandler(PushPullWorker);
this.bgw.RunWorkerAsync(reportModel); this.bgw.RunWorkerAsync(reportModel);
} }
#endregion
private void SetupViewer (ReportModel reportModel)
{
this.pages = new PagesCollection();
this.reportSettings = reportModel.ReportSettings;
this.cancelButton.Enabled = true;
this.AdjustDrawArea();
}
private void SetupWorker () private void SetupWorker ()
{ {
@ -159,20 +163,17 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void FormSheetWorker(object sender,DoWorkEventArgs e) private void FormSheetWorker(object sender,DoWorkEventArgs e)
{ {
// Get the BackgroundWorker that raised this event.
BackgroundWorker worker = sender as BackgroundWorker; BackgroundWorker worker = sender as BackgroundWorker;
e.Result = RunFormSheet((ReportModel)e.Argument,worker,e); e.Result = RunFormSheet((ReportModel)e.Argument,worker,e);
} }
private void PushPullWorker(object sender,DoWorkEventArgs e) private void PushPullWorker(object sender,DoWorkEventArgs e)
{ {
BackgroundWorker worker = sender as BackgroundWorker; BackgroundWorker worker = sender as BackgroundWorker;
e.Result = RunDataReport((ReportModel)e.Argument,this.dataManager,worker,e); e.Result = RunDataReport((ReportModel)e.Argument,this.dataManager,worker,e);
} }
#endregion #endregion
@ -180,7 +181,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{ {
if (e.Error != null) { if (e.Error != null) {
throw new ReportException("error in background worker", e.Error); throw new ReportException("error in background worker", e.Error);
} }
@ -234,7 +234,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
{ {
RunDataReport(reportModel,data,worker,e); RunDataReport(reportModel,data,worker,e);
} }
return null; return null;
} }
@ -316,7 +315,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
updateControl = ShowCompleted; updateControl = ShowCompleted;
Invoke (updateControl); Invoke (updateControl);
} }
this.SetPages(); this.SetPages();
this.CheckEnable(); this.CheckEnable();
this.cancelButton.Enabled = false; this.cancelButton.Enabled = false;
@ -324,7 +322,6 @@ namespace ICSharpCode.Reports.Core.ReportViewer
this.pdfButton.Enabled = true; this.pdfButton.Enabled = true;
} }
#endregion #endregion
@ -371,8 +368,11 @@ namespace ICSharpCode.Reports.Core.ReportViewer
} }
} }
EventHelper.Raise<EventArgs>(this.PreviewLayoutChanged,this,e); this.Invalidate(true);
this.Update();
this.AdjustDrawArea(); this.AdjustDrawArea();
EventHelper.Raise<EventArgs>(this.PreviewLayoutChanged,this,e);
} }
@ -448,11 +448,13 @@ namespace ICSharpCode.Reports.Core.ReportViewer
private Bitmap CreateBitmap (ExporterPage page) private Bitmap CreateBitmap (ExporterPage page)
{ {
System.Diagnostics.Trace.WriteLine("CreateBitmap");
Bitmap bm = new Bitmap(this.drawingPanel.ClientSize.Width,this.drawingPanel.ClientSize.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); Bitmap bm = new Bitmap(this.drawingPanel.ClientSize.Width,this.drawingPanel.ClientSize.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb);
using (Graphics gr = Graphics.FromImage(bm)) { using (Graphics gr = Graphics.FromImage(bm)) {
// Reset Transform to org. Value // Reset Transform to org. Value
gr.Clear(System.Drawing.Color.White);
this.Invalidate();
gr.ScaleTransform(1F,1F); gr.ScaleTransform(1F,1F);
gr.Clear(this.drawingPanel.BackColor); gr.Clear(this.drawingPanel.BackColor);
gr.ScaleTransform(this.zoom,this.zoom); gr.ScaleTransform(this.zoom,this.zoom);

Loading…
Cancel
Save