static int Main(string[] args) { Args programArgs = new Args(args); if (!programArgs.Complete) { Args.ShowArgs(); return(1); } Rdl.Engine.Report rpt = new Rdl.Engine.Report(); try { rpt.CompileToAssembly( new FileStream(programArgs.Report, FileMode.Open, FileAccess.Read, FileShare.Read), programArgs.Path, programArgs.OutputName, programArgs.ReportName); } catch (Rdl.Engine.Report.CompileException err) { Console.WriteLine(err.Message); foreach (string s in err.Output) { Console.WriteLine(s); } } catch (Exception err) { Console.WriteLine(err.Message); } return(0); }
public Context FindContextByGroupName(string name, Rdl.Engine.Report rpt) { if (rpt.DataSets[name] != null) { return(new Context(null, rpt.DataSets[name], null, null, null)); } if (_grouping != null) { if (_grouping.Name == name) { return(this); } } if (_reportItemName == name) { return(this); } if (_parentContext != null) { return(_parentContext.FindContextByGroupName(name, rpt)); } else if (_dataSet.Name == name) { return(this); } throw new Exception("Invalid context name " + name); }
/// <summary> /// Sets the <see cref="Rdl.Engine.Report"/> to use to fill the parameters. /// </summary> /// <param name="report"></param> public void SetReport(Rdl.Engine.Report report) { // Load the valid values into the report parameters. _report = report; Page.Session["RdlReport"] = _report; ChildControlsCreated = false; }
public GenericRender(Rdl.Engine.Report rpt, Rdl.Runtime.Context context) { _report = rpt; BodyContainer = new FixedContainer(null, rpt, null); BodyContainer.Name = "ReportBody"; BodyContainer.Width = rpt.Width.points; BodyContainer.ContextBase = true; BodyContainer.SetGenericRender(this); BodyContainer.StyleIndex = AddStyle(new BoxStyle(Rdl.Engine.Style.DefaultStyle, context)); PageHeaderContainer = new FixedContainer(null, rpt, null); PageHeaderContainer.Name = "PageHeader"; PageHeaderContainer.Width = rpt.Width.points; PageHeaderContainer.ContextBase = true; PageHeaderContainer.SetGenericRender(this); PageHeaderContainer.StyleIndex = AddStyle(new BoxStyle(Rdl.Engine.Style.DefaultStyle, context)); PageFooterContainer = new FixedContainer(null, rpt, null); PageFooterContainer.Name = "PageFooter"; PageFooterContainer.Width = rpt.Width.points; PageFooterContainer.ContextBase = true; PageFooterContainer.SetGenericRender(this); PageFooterContainer.StyleIndex = AddStyle(new BoxStyle(Rdl.Engine.Style.DefaultStyle, context)); }
protected void SalesOrderDetail_Click(object sender, EventArgs e) { Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Sales Order Detail.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); ReportParameters.SetReport(rpt); }
public ParametersDialog(Rdl.Engine.Report report) { InitializeComponent(); parametersEntry1.SetReport(report); parametersEntry1.ViewReport += new EventHandler <ParametersEntry.ViewReportEventArgs>(ViewReport); DialogResult = DialogResult.Cancel; }
private void btnEmployeeSalesSummary_Click(object sender, EventArgs e) { Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Employee Sales Summary.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); parametersEntry1.Show(); parametersEntry1.SetReport(rpt); }
private void btnProductCatalog_Click(object sender, EventArgs e) { Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Product Catalog.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); rpt.Run(); reportViewer1.SetReport(rpt); }
protected void ProductLineSales_Click(object sender, EventArgs e) { Rdl.Runtime.Product_Line_Sales pls = new Rdl.Runtime.Product_Line_Sales(); Rdl.Engine.Report rpt = pls.Report; //Rdl.Engine.Report rpt = new Rdl.Engine.Report(); //rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Product Line Sales.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), // @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); ReportParameters.SetReport(rpt); }
protected void TerritorySalesDrilldown_Click(object sender, EventArgs e) { Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Territory Sales Drilldown.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); rpt.Run(); ReportParameters.SetReport(null); ReportViewer.SetReport(rpt); }
private void buttonCompanySales_Click(object sender, EventArgs e) { parametersEntry1.Hide(); Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Company Sales.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); rpt.Run(); reportViewer1.SetReport(rpt); }
private void btnSalesOrderDetail_Click(object sender, EventArgs e) { Rdl.Engine.Report rpt = new Rdl.Engine.Report(); rpt.Load(new FileStream(@"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports\Sales Order Detail.rdl", FileMode.Open, FileAccess.Read, FileShare.Read), @"C:\Documents and Settings\MEmerson.VITALBASICS\My Documents\Visual Studio Projects\rdlTest\SampleReports"); RdlViewer.ParametersDialog dlg = new RdlViewer.ParametersDialog(rpt); dlg.Title = "Sales Order Detail Parameters"; if (dlg.ShowDialog() == DialogResult.OK) { rpt.Run(); reportViewer1.SetReport(rpt); } }
public Parameters(Rdl.Engine.Report rpt) { _rpt = rpt; }
private void ReloadChildControls() { if (_report == null) { _report = (Rdl.Engine.Report)Page.Session["RdlReport"]; } if (_report != null) { foreach (Rdl.Engine.ReportParameter r in _report.ReportParameters.Values) { r.LoadValidValues(_report); } } if (_report != null) { foreach (Rdl.Engine.ReportParameter parm in _report.ReportParameters.Values) { if (!parm.Hidden) { if (parm.ValidValues.Count > 0) { if (parm.MultiValue) { CheckBoxList checkBoxList = (CheckBoxList)FindControl(parm.Name); bool reload = false; if (checkBoxList.Items.Count != parm.ValidValues.Count) { reload = true; } else { for (int i = 0; i < parm.ValidValues.Count; i++) { if (parm.ValidValues[i].Label != checkBoxList.Items[i].Text) { reload = true; } } } if (reload) { checkBoxList.Items.Clear(); foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { checkBoxList.Items.Add(new ListItem(value.Label, value.Value)); } if (parm.DefaultValue != null) { foreach (string s in parm.DefaultValue) { foreach (ListItem li in checkBoxList.Items) { if (li.Value == s) { li.Selected = true; } } } } } } else { DropDownList ddl = (DropDownList)FindControl(parm.Name); bool reload = false; if (ddl.Items.Count != parm.ValidValues.Count) { reload = true; } else { for (int i = 0; i < parm.ValidValues.Count; i++) { if (parm.ValidValues[i].Label != ddl.Items[i].Text) { reload = true; } } } if (reload) { ddl.Items.Clear(); foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { ddl.Items.Add(new ListItem(value.Label, value.Value)); } if (parm.DefaultValue != null) { foreach (string s in parm.DefaultValue) { foreach (ListItem li in ddl.Items) { if (li.Value == s) { li.Selected = true; } } } } } } } } } } }
public void SetReport(Rdl.Engine.Report report) { _report = report; Panel1.Controls.Clear(); foreach (Rdl.Engine.ReportParameter parm in _report.ReportParameters.Values) { Label label = new Label(); label.Text = parm.Prompt; label.AutoSize = true; Panel1.Controls.Add(label); if (parm.ValidValues.Count > 0) { if (parm.MultiValue) { CheckedListBox lb = new CheckedListBox(); foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { lb.Items.Add(value.Label); } lb.SelectionMode = SelectionMode.MultiSimple; lb.CheckOnClick = true; lb.Name = parm.Name; if (parm.DefaultValue != null) { foreach (object o in parm.DefaultValue) { for (int i = 0; i < parm.ValidValues.Count; i++) { if (parm.ValidValues[i].Value.CompareTo(o) == 0) { lb.SetItemChecked(i, true); } } } } Panel1.Controls.Add(lb); } else { ComboBox combo = new ComboBox(); foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { combo.Items.Add(value.Label); } combo.Name = parm.Name; if (parm.DefaultValue != null) { foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { if (value.Value.CompareTo(parm.DefaultValue[0]) == 0) { combo.SelectedItem = value.Label; } } } Panel1.Controls.Add(combo); } } else { switch (parm.DataType.Name) { case "Boolean": CheckBox cb = new CheckBox(); if (parm.DefaultValue != null) { cb.Checked = bool.Parse(parm.DefaultValue[0]); } cb.Name = parm.Name; Panel1.Controls.Add(cb); break; case "DateTime": DateTimePicker dtp = new DateTimePicker(); dtp.Name = parm.Name; if (parm.DefaultValue != null && parm.DefaultValue.Length > 0) { dtp.Value = DateTime.Parse(parm.DefaultValue[0]); } Panel1.Controls.Add(dtp); break; case "Int32": TextBox tb = new TextBox(); tb.Name = parm.Name; if (parm.DefaultValue != null && parm.DefaultValue.Length > 0) { tb.Text = parm.DefaultValue[0]; } Panel1.Controls.Add(tb); break; case "Single": TextBox tb2 = new TextBox(); tb2.Name = parm.Name; if (parm.DefaultValue != null && parm.DefaultValue.Length > 0) { tb2.Text = parm.DefaultValue[0]; } Panel1.Controls.Add(tb2); break; case "String": TextBox tb3 = new TextBox(); tb3.Name = parm.Name; if (parm.DefaultValue != null && parm.DefaultValue.Length > 0) { tb3.Text = parm.DefaultValue[0]; } Panel1.Controls.Add(tb3); break; } } } Panel1.Controls.Add(btnViewReport); }
public Globals(Rdl.Engine.Report rpt) { _rpt = rpt; }
void btnAction_Click(object sender, EventArgs e) { if (FindControl("tbAction") != null) { // Get the ID of the element which triggered the action string actionID = ((HiddenField)FindControl("tbAction")).Value; // Prevent recursion if (actionID != string.Empty) { // Find the named text action element. Rdl.Render.ActionElement ae = (Rdl.Render.ActionElement)_htmlReport.SourceReport.BodyContainer.FindNamedElement(actionID); if (ae != null) { // If the action is a drill-through, then load the new report, // set the parameters and open the report. if (ae.DrillThroughReportName != null) { string reportName = ae.DrillThroughReportName; Rdl.Engine.Report rpt; System.Runtime.Remoting.ObjectHandle oh = null; try { oh = Activator.CreateInstance(reportName, "Rdl.Runtime." + reportName.Replace(' ', '_')); } catch { } if (oh != null) { rpt = ((Rdl.Runtime.RuntimeBase)oh.Unwrap()).Report; } else { if (!reportName.Contains("\\")) { reportName = _htmlReport.SourceReport.Report.ReportPath + reportName; } if (!reportName.Contains(".rdl")) { if (File.Exists(reportName + ".rdl")) { reportName += ".rdl"; } else if (File.Exists(reportName + ".rdlc")) { reportName += ".rdlc"; } } if (!File.Exists(reportName)) { throw new Exception("Unable to locate sub report " + reportName); } rpt = new Rdl.Engine.Report(); FileStream fs = new FileStream(reportName, FileMode.Open, FileAccess.Read, FileShare.Read); rpt.Load(fs, _htmlReport.SourceReport.Report.ReportPath); fs.Close(); fs.Dispose(); } foreach (Rdl.Render.ActionElement.ActionParameter parm in ae.DrillThroughParameterList) { rpt.ReportParameters[parm.Name].Value = parm.Value; rpt.ReportParameters[parm.Name].Hidden = true; } Rdl.Render.GenericRender render = rpt.Run(); _reportSessionID = "RenderedReport_" + (reportIndex++).ToString(); ((HiddenField)FindControl("tbReportID")).Value = _reportSessionID; SetReport(render); return; } } } } }
public ViewReportEventArgs(Rdl.Engine.Report report) { Report = report; }
public ParameterErrorEventArgs(Rdl.Engine.Report report, string errorMessage) { Report = report; ErrorMessage = errorMessage; }
public User(Rdl.Engine.Report rpt) { _rpt = rpt; }
public ReportViewEventArgs(Rdl.Engine.Report report) { Report = report; }
protected override void CreateChildControls() { Controls.Clear(); checkBoxListControls.Clear(); if (_report == null) { _report = (Rdl.Engine.Report)Page.Session["RdlReport"]; } if (_report != null) { foreach (Rdl.Engine.ReportParameter r in _report.ReportParameters.Values) { r.LoadValidValues(_report); } } if (_report != null) { List <Control> requiredControls = new List <Control>(); List <Control> optionalControls = new List <Control>(); foreach (Rdl.Engine.ReportParameter parm in _report.ReportParameters.Values) { List <Control> controlList = (parm.Nullable || parm.AllowBlank) ? optionalControls : requiredControls; if (!parm.Hidden) { controlList.Add(new LiteralControl("<div style=\"margin: 5px;\">" + parm.Prompt + " ")); if (parm.ValidValues.Count > 0) { if (parm.MultiValue) { CheckBoxList checkBoxList = new CheckBoxList(); checkBoxList.ID = parm.Name; controlList.Add(new LiteralControl("<div style=\"overflow: scroll; height: 100px;\">")); LiteralControl chkCheckAll = new LiteralControl(); controlList.Add(chkCheckAll); controlList.Add(checkBoxList); controlList.Add(new LiteralControl("</div>")); foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { checkBoxList.Items.Add(new ListItem(value.Label, value.Value)); } CheckBoxListControls chkControls = new CheckBoxListControls(); chkControls.checkBoxList = checkBoxList; chkControls.chkCheckAll = chkCheckAll; checkBoxListControls.Add(chkControls); if (parm.DefaultValue != null) { foreach (string s in parm.DefaultValue) { foreach (ListItem li in checkBoxList.Items) { if (li.Value == s) { li.Selected = true; } } } } } else { DropDownList ddl = new DropDownList(); controlList.Add(ddl); if (parm.Nullable) { ddl.Items.Add(new ListItem("", "")); } foreach (Rdl.Engine.ParameterValue value in parm.ValidValues) { ddl.Items.Add(new ListItem(value.Label, value.Value)); } ddl.ID = parm.Name; ddl.AutoPostBack = true; if (parm.DefaultValue != null) { foreach (ListItem li in ddl.Items) { if (li.Value == parm.DefaultValue[0]) { ddl.SelectedValue = li.Value; } } } if (parm.Value != null) { foreach (ListItem li in ddl.Items) { if (li.Value == parm.Value.ToString()) { ddl.SelectedValue = li.Value; } } } } } else { switch (parm.DataType.Name) { case "Boolean": CheckBox cb = new CheckBox(); controlList.Add(cb); if (parm.Value != null) { cb.Checked = bool.Parse((string)parm.Value); } else if (parm.DefaultValue != null) { cb.Checked = bool.Parse(parm.DefaultValue[0]); } cb.ID = parm.Name; break; case "DateTime": TextBox tbCal = new TextBox(); tbCal.ID = parm.Name; controlList.Add(tbCal); if (parm.DefaultValue != null && parm.DefaultValue.Length > 0) { tbCal.Text = parm.DefaultValue[0]; } ImageButton ib = new ImageButton(); controlList.Add(ib); ib.ID = parm.Name + "_ib"; ib.ImageUrl = "image." + ReportServer._extension + "?source=resource&name=calendar.bmp"; AjaxControlToolkit.CalendarExtender ce = new AjaxControlToolkit.CalendarExtender(); controlList.Add(ce); ce.PopupButtonID = parm.Name + "_ib"; ce.TargetControlID = parm.Name; ce.ID = parm.Name + "_extender"; break; case "Int32": case "Single": case "String": TextBox tb = new TextBox(); controlList.Add(tb); tb.ID = parm.Name; string sValue = string.Empty; if (parm.MultiValue) { if (parm.Value == null) { if (parm.DefaultValue != null) { foreach (string val in parm.DefaultValue) { sValue += ((sValue.Length > 0) ? "," : string.Empty) + val; } } } else { foreach (string val in (string[])parm.Value) { sValue += ((sValue.Length > 0) ? "," : string.Empty) + val; } } } else { if (parm.Value != null) { sValue = parm.Value.ToString(); } else if (parm.DefaultValue != null) { sValue = parm.DefaultValue[0]; } } tb.Text = sValue; break; } } // Add some space before the next control. controlList.Add(new LiteralControl("</div>")); } //Controls.Add(new LiteralControl("    ")); } Panel panel = new Panel(); UpdatePanel updatePanel = new UpdatePanel(); panel.Controls.Add(updatePanel); btnView = new Button(); panel.Controls.Add(btnView); btnView.Text = "View"; btnView.ID = "ViewReport"; btnView.Click += new EventHandler(btnView_Click); panel.DefaultButton = "ViewReport"; // Add the required and optional parameter controls to the UpdatePanel if (requiredControls.Count > 0) { updatePanel.ContentTemplateContainer.Controls.Add(new LiteralControl("<div><b>Required Parameters:</b>")); foreach (Control ctrl in requiredControls) { updatePanel.ContentTemplateContainer.Controls.Add(ctrl); } updatePanel.ContentTemplateContainer.Controls.Add(new LiteralControl("</div>")); } if (optionalControls.Count > 0) { updatePanel.ContentTemplateContainer.Controls.Add(new LiteralControl("<div><b>Optional Parameters</b>")); foreach (Control ctrl in optionalControls) { updatePanel.ContentTemplateContainer.Controls.Add(ctrl); } updatePanel.ContentTemplateContainer.Controls.Add(new LiteralControl("</div>")); } Controls.Add(panel); } ChildControlsCreated = true; }
protected void ReportParameters_ViewReport(object sender, RdlAsp.ViewReportEventArgs e) { Rdl.Engine.Report rpt = e.Report; rpt.Run(); ReportViewer.SetReport(rpt); }