/// <summary> /// Performs common report execution steps such as populating datasets, labels and defaults /// </summary> private void RunReport() { try { // Event handler for SubreportProcessing _localReport.SubreportProcessing += new SubreportProcessingEventHandler(reportViewer1SubReportEventHandler); // Set the parameters SetReportParameters(); // Bind the report to a datasource and set label values PopulateReportData(); // Go ahead and show the toolbar now that a report has been executed CCustomMessageClass customMessages = new CCustomMessageClass(); this.reportViewer1.Messages = customMessages; this.reportViewer1.ShowToolBar = true; } catch (Exception ex) { log.Debug(ex, ex); throw new Exception(ex.Message); } }