⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sharpreportengine.cs

📁 c#源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
		public ReportParameters LoadParameters (string fileName) {
				if (fileName.Length == 0) {
				throw new ArgumentNullException("PreviewPushDataReport FileName");
			}
			ReportModel model = null;
			try {
				model = ModelFromFile (fileName);
				ReportParameters pars = new ReportParameters();
				pars.ConnectionObject = null;
				pars.SqlParameters.AddRange (model.ReportSettings.SqlParametersCollection);
				return pars;
			} catch (Exception) {
				throw;
			}
		}
		
		#endregion
		
		
		#region Preview
		///<summary>
		/// Opens the PreviewDialog as standalone, so, no need for Designer
		/// </summary>
		///<param name="fileName">Report's Filenema</param>
		/// <param name="/// <summary>
		/// send report to printer
		/// </summary>
		/// <param name="fileName">Path to ReportFile</param>
		
		public void PreviewStandartReport (string fileName) {
			if (fileName.Length == 0) {
				throw new ArgumentNullException("PreviewPushDataReport FileName");
			}
			PreviewStandartReport (fileName,null);
		}
		
		
		public void PreviewStandartReport (string fileName,ReportParameters reportParameters) {
			if (fileName.Length == 0) {
				throw new ArgumentNullException("PreviewPushDataReport:FileName");
			}

			ReportModel model = null;
			AbstractRenderer renderer = null;
			PrintDocument  doc = null;
			try {
				model = ModelFromFile (fileName);
				if (CheckReportParameters (model,reportParameters)) {
					renderer = SetupStandartRenderer (model);
					if (renderer.Cancel == false) {
						doc = renderer.ReportDocument;
						PreviewControl.ShowPreviewWithDialog (renderer,1.5);
					}
				}
			} catch (Exception) {
				throw;
			}
			
		}
		/// <summary>
		/// Preview a "PushModel - Report"
		/// </summary>
		/// <param name="fileName">Filename to the location of the ReportFile</param>
		/// <param name="dataTable">a Datatable, containing the data</param>
		public void PreviewPushDataReport (string fileName,DataTable dataTable) {
			if (fileName.Length == 0) {
				throw new ArgumentException("PreviewPushDataReport fileName");
			}
			if (dataTable == null) {
				throw new ArgumentNullException("PreviewPushDataReport dataTable");
			}
			ReportModel model = null;
			AbstractRenderer renderer = null;
			PrintDocument  doc = null;
			try {
				model = ModelFromFile (fileName);
				
				if (!this.CheckForPushModel(model)) {
					throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
				}
				
				renderer = SetupPushDataRenderer (model,dataTable);
				if (renderer.Cancel == false) {
					doc = renderer.ReportDocument;
					PreviewControl.ShowPreviewWithDialog (renderer,1.5);
				}
			} catch (Exception) {
				
			}
			
		}
		
		#endregion
		
		#region Printing
		
		private void ReportToPrinter (AbstractRenderer renderer,ReportModel model) {
			if (renderer == null) {
				throw new NullReferenceException("SparpReportEngine:ReportToPrinter: No valid Renderer");
			}
			PrintDocument  doc = null;
			if (renderer.Cancel == false) {
				doc = renderer.ReportDocument;
				using (PrintDialog dlg = new PrintDialog()) {
					dlg.Document = doc;
					MessageBox.Show (model.ReportSettings.UseStandartPrinter.ToString());
					if (model.ReportSettings.UseStandartPrinter == true) {
						dlg.Document.Print();
					} else {
						DialogResult result = dlg.ShowDialog();
						// If the result is OK then print the document.
						if (result==DialogResult.OK){
							dlg.Document.Print();
						}
					}
				}
			}
		}
		
		/// <summary>
		/// send a Standart (PullModel/FormSheet) Report to printer
		/// </summary>
		/// <param name="fileName">Path to ReportFile</param>
		/// <param name="renderTo">Type of renderer currently only "ToText" is implemented</param>

		public void PrintStandartReport (string fileName) {
			if (fileName.Length == 0) {
				throw new ArgumentException("PreviewPushDataReport fileName");
			}
			PrintStandartReport (fileName,null);
			
		}
		
		public void PrintStandartReport (string fileName,ReportParameters reportParameters) {
			if (fileName.Length == 0) {
				throw new ArgumentException("PreviewPushDataReport fileName");
			}
			
			ReportModel model = null;
			AbstractRenderer renderer = null;
			try {
				model = ModelFromFile (fileName);
				if (CheckReportParameters (model,reportParameters)) {
					renderer = SetupStandartRenderer (model);
					this.ReportToPrinter (renderer,model);
				}
			} catch (Exception) {
				throw;
			}
		}
		/// <summary>
		/// Print a PullModel Report
		/// </summary>
		/// <param name="fileName"></param>
		/// <param name="dataTable"></param>
		/// <param name="showPrintDialog">if set to true, show the <see cref="PrintDialog"></see>
		/// </param>
		
		public void PrintPushDataReport (string fileName,
		                                 DataTable dataTable,
		                                bool showPrintDialog) {
			
			if (fileName.Length == 0) {
				throw new ArgumentException("PreviewPushDataReport fileName");
			}
			if (dataTable == null) {
				throw new ArgumentNullException("PreviewPushDataReport dataTable");
			}
			ReportModel model = null;
			AbstractRenderer renderer = null;
			try {
				model = ModelFromFile (fileName);
				if (!this.CheckForPushModel(model)) {
					throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
				}		
				
				renderer = SetupPushDataRenderer (model,dataTable);
				this.ReportToPrinter(renderer,model);
				
			} catch (Exception) {
			}
			
			
		}
		/// <summary>
		/// Print a PullModel Report, if <see cref="UseStandartPrinter"></see> in
		/// <see cref="ReportSettings"></see> is true, the Report is send directly to the printer,
		///  otherwise, we show a <see cref="PrintDialog"></see>
		/// </summary>
		/// <param name="fileName"></param>
		/// <param name="dataTable"></param>
		public void PrintPushDataReport (string fileName,DataTable dataTable) {
			if (fileName.Length == 0) {
				throw new ArgumentException("PreviewPushDataReport FileName");
			}
			if (dataTable == null) {
				throw new ArgumentNullException("PreviewPushDataReport DataTable");
			}
			ReportModel model = null;
			AbstractRenderer renderer = null;
		
			try {
				model = ModelFromFile (fileName);
				if (!this.CheckForPushModel(model)) {
					throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
				}
				
				renderer = SetupPushDataRenderer (model,dataTable);
				this.ReportToPrinter(renderer,model);
				
			} catch (Exception) {
			}
		}
		
		
		#endregion
		
		
		
		
		#region Loading report
		/// <summary>
		/// Load's a <see cref="ReportModel"></see> from File using the
		/// <see cref="LoadModelVisitor"></see>
		/// </summary>
		/// <param name="fileName"></param>
		/// <returns><see cref="ReportModel"></see></returns>
		
		protected ReportModel ModelFromFile (string fileName) {
			if (fileName.Length == 0) {
				throw new ArgumentException("ModelfromFile:FileName");
			}
			ReportModel model = new ReportModel();
			SharpReportCore.LoadModelVisitor modelVisitor = new SharpReportCore.LoadModelVisitor(model,fileName);
			model.Accept (modelVisitor);
			return model;
		}

		
		#endregion
		
		#region Properties
		///<summary>
		/// Use this Dialog for previewing a Report
		/// This Control is also used by the Designer
		/// </summary>
		
		public SharpReportCore.PaintArea  PreviewControl  {
			get {
				if (paintArea == null) {
					paintArea = new PaintArea();
					paintArea.BackColor = System.Drawing.Color.White;
					paintArea.Dock = DockStyle.Fill;
				}
				return paintArea;
			}
		}
		public ConnectionObject ConnectionObject {
			get {
				return connectionObject;
			}
			set {
				connectionObject = value;
			}
		}
		
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -