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

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

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

Loading…
Cancel
Save