4,818
社区成员
发帖
与我相关
我的任务
分享
string rptpath = Server.MapPath("../rptsources/AP_Creditor_Aging_sumRe.rpt");
RptDoc.Load(rptpath);
Report report = new Report();
DataTable RptDataTable = report.Get_AP_Creditor_AgingRe(conn, supplier, documentno, curr, type, period, ispost);
RptDoc.SetDataSource(RptDataTable);
ReportDocument RptDocSub = RptDoc.Subreports["AP_Creditor_Aging_Sum_subRe.rpt"];
RptDoc.SetDataSource(RptDataTable);
ReportDocument RptDocTotal = RptDoc.Subreports["AP_Creditor_Aging_Sum_totalRe.rpt"];
RptDoc.SetDataSource(RptDataTable);
CrystalReportViewer1.ReportSource = RptDoc;
CrystalReportViewer1.EnableDrillDown = false;






//后台代码。
private ReportDocument myReport = new ReportDocument();
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
ConfigureCrystalReports();
}
}
private void ConfigureCrystalReports()
{
string period = DateTime.Now.ToString("yyyy-MM");
string custcode = txt_custcode.Text.Trim();
int flag = ckb_show.Checked == true ? 0 : 1;
string reportPath = Server.MapPath("../rptsources/Customer_Financial_StatusNew.rpt");
myReport.Load(reportPath);
//定义水晶报表的数据库连接信息
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.DatabaseName = "***";
connectionInfo.UserID = "***";
connectionInfo.Password = "***";
connectionInfo.ServerName = "***";
//将数据库信息传递给报表
SetDBLogonForReport(connectionInfo, myReport);
//把模板对象赋给报表前端呈现控件CrystalReportViewer1
myReport.SetParameterValue("@PERIOD", period);
myReport.SetParameterValue("@CUST_CODE", custcode);
myReport.SetParameterValue("@TTYPE", flag);
CrystalReportViewer1.ReportSource = myReport;
}
private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument)
{
Tables tables = reportDocument.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);
}
}


myReport.Subreports["Subreport4"].SetParameterValue("@SUPPLIER_CODE", supplier);
myReport.Subreports["Subreport4"].SetParameterValue("@DOCU_NO", documentno);
myReport.Subreports["Subreport4"].SetParameterValue("@CURRENCY", curr);
myReport.Subreports["Subreport4"].SetParameterValue("@TTYPE", type);
myReport.Subreports["Subreport4"].SetParameterValue("@ISPOSTED", ispost);
myReport.Subreports["Subreport4"].SetParameterValue("@PERIOD", period);