我需要在单个RDLC报告查看器中显示BULK报告。我使用带有动态图像的RDLC报告生成单个报告。但是现在我需要生成相同的报告,但是数据/计算会有所不同。单个报告生成的代码如下。
rdlcTax.Visible = true;
rdlcTax.Reset();
rdlcTax.ProcessingMode = ProcessingMode.Local;
rdlcTax.LocalReport.DisplayName = "Tax" + dt.Rows[0]["NAME"].ToString();
rdlcTax.LocalReport.ReportPath = "Reports/rdlcTaxCertificate.rdlc";
ReportDataSource rds = new ReportDataSource("dsTaxCertificate", dt);
var param = new ReportParameter[] {
new ReportParameter("fromDate", fromMonth.Replace("-", " ")),
new ReportParameter("toDate", toMonth.Replace("-", " ")),
new ReportParameter("rateOfDeduction", rateOfDeduction + "%"),
new ReportParameter("name", name),
new ReportParameter("address", address),
new ReportParameter("refNo", refNo),
new ReportParameter("issueDate", issueDate),
new ReportParameter("amount", tdsSum.ToString("N", CultureInfo.InvariantCulture).Split('.')[0]),
new ReportParameter("amountWord", textInfo.ToTitleCase(int.Parse(tdsSum.ToString()).ToText()) + " Taka Only"),
new ReportParameter("imagePath", imagePath, true)
};
rdlcTax.LocalReport.EnableExternalImages = true;
rdlcTax.LocalReport.SetParameters(param);
rdlcTax.LocalReport.DataSources.Clear();
rdlcTax.LocalReport.DataSources.Add(rds);
rdlcTax.DataBind();
rdlcTax.LocalReport.Refresh();
我也试过在同一个报表查看器中生成多个报表的循环,但是没有用。报告仅显示最后一个DataTable的数据。代码如下。
rdlcTax.Visible = true;
rdlcTax.Reset();
rdlcTax.ProcessingMode = ProcessingMode.Local;
rdlcTax.LocalReport.DisplayName = "Tax Certificate";
rdlcTax.LocalReport.ReportPath = "Reports/rdlcTaxCertificateBulk.rdlc";
rdlcTax.LocalReport.EnableExternalImages = true;
rdlcTax.LocalReport.DataSources.Clear();
foreach (DataTable dt in ds.Tables)
{
var name = dt.Rows[0]["NAME"].ToString();
var address = dt.Rows[0]["ADDRESS"].ToString();
var refNo = dt.Rows[0]["REFERENCE_NO"].ToString();
var issueDate = dt.Rows[0]["ISSUE_DATE"].ToString();
var tdsSum = Math.Round(double.Parse(dt.Compute("Sum(TDS_AMOUNT)", "").ToString()));
ReportDataSource rds = new ReportDataSource("dsTaxCertificate", dt);
var param = new ReportParameter[] {
new ReportParameter("fromDate", fromMonth.Replace("-", " ")),
new ReportParameter("toDate", toMonth.Replace("-", " ")),
new ReportParameter("rateOfDeduction", rateOfDeduction + "%"),
new ReportParameter("name", name),
new ReportParameter("address", address),
new ReportParameter("refNo", refNo),
new ReportParameter("issueDate", issueDate),
new ReportParameter("amount", tdsSum.ToString("N", CultureInfo.InvariantCulture).Split('.')[0]),
new ReportParameter("amountWord", textInfo.ToTitleCase(int.Parse(tdsSum.ToString()).ToText()) + " Taka Only"),
new ReportParameter("imagePath", imagePath, true)
};
rdlcTax.LocalReport.SetParameters(param);
rdlcTax.LocalReport.DataSources.Clear();
rdlcTax.LocalReport.DataSources.Add(rds);
rdlcTax.DataBind();
rdlcTax.LocalReport.Refresh();
}
在我必须修改以生成多个报告的代码中?
答案 0 :(得分:0)
批量报告中包含参数的目的是什么?这是基于您的代码片段,以了解要求。
表中的所有列名称是否相同?
foreach (DataTable dt in ds.Tables)
{
****
}