1/RDLC报表的加载
2/RDLC报表的绑定
3/RDLC参数传递
4/RDLC的数据源传递
5/报表显示
private void Print()
{
if(!CheckRight(FunName,ModuleRight.Print))
{
MsgShow(Const.CHECK_RIGHT_MESSAGE_CN);
return;
}
if (dt.Rows.Count == 0)
{
MsgShow(Const.NO_CORRESPONDING_RECORD_CN);
return;
}
//1/RDLC报表的加载
StockTransferReport.ProcessingMode = ProcessingMode.Local;
//2/RDLC报表的绑定
StockTransferReport.LocalReport.ReportPath = @"Inventory/Reports/StockTransfer.rdlc";
DataTable com_dt = utility.GetCompany(Login.CompanyCode);
//3/RDLC参数传递
List<ReportParameter> parameterList = new List<ReportParameter>();
parameterList.Add(new ReportParameter("p_Tility", com_dt.Rows[0]["Bill_comName"].ToString().Trim()));
parameterList.Add(new ReportParameter("p_Status", dt.Rows[0]["Status"].ToString().Trim() == "2" || dt.Rows[0]["Status"].ToString().Trim() == "4" ? "2" : "1"));
parameterList.Add(new ReportParameter("p_Name", utility.GetLoginUser(dt.Rows[0]["Company"].ToString().Trim(), dt.Rows[0]["CreatedBy"].ToString()).Rows[0]["Chi_Name"].ToString()));
StockTransferReport.LocalReport.SetParameters(parameterList);
// 4/RDLC的数据源传递,对应,可以理解为 dt数据集传递给RDLC报表内部的'StockTransfer'别名的数据集,
StockTransferReport.LocalReport.DataSources.Add(new ReportDataSource("StockTransfer", dt));
//5/报表显示
StockTransferReport.LocalReport.Refresh();
}
以下是RDLC内部对应的数据源别名, 应当首先建立一个StockTransfer.xsd类型的数据库关系文件,RDLC内部就自动显示该数据库别了