无法在ASP.Net页面中显示报告
|
我已经创建了一个数据集,并在我的水晶报表中使用了它。问题是在设计时我能够显示数据,但是当我使用ASP.Net页面执行数据时,它显示空白页面。以下是我用来以编程方式显示报告的代码:
/// <summary>
/// Displays batch report
/// </summary>
/// <param name=\"agreementId\"></param>
private void ShowStatements(string agreementId)
{
var crvStatements = new CrystalReportViewer();
var reportDocument = new ReportDocument();
reportDocument.Load(Server.MapPath(\"Statements.rpt\"));
crvStatements.ReportSource = reportDocument;
var dt1 = new dsStatements.usp_GetBillDetailsByAgreementIdDataTable();
var dt2 = new dsStatements.usp_GetTransactionTypesByAgreementIdForBillDataTable();
var adapter1 = new usp_GetBillDetailsByAgreementIdTableAdapter();
var adapter2 = new usp_GetTransactionTypesByAgreementIdForBillTableAdapter();
adapter1.Fill(dt1, agreementId);
adapter2.Fill(dt2, agreementId);
//var statements = new dsStatements();
//statements.Tables.Add(dt1);
//statements.Tables.Add(dt2);
// reportDocument.SetDataSource(dsStatements);
crvStatements.RefreshReport();
}
请注意,我没有在页面上使用任何控件。我正在以编程方式添加报告查看器,报告源和数据集。请帮帮我。我需要它。我正在将VS2010与CR 2010一起使用
没有找到相关结果
已邀请:
2 个回复
屠创氓读叔
我假设报表是用报表中链接的这些表设置的,并且您可能必须给数据表起一个名字,以便Crystal知道如何将每个数据表映射到报表中的对应表。如果可能,您可以尝试将报告限制为仅接受一个表,直到计算出加载逻辑为止。 如果每个数据表都代表一个子报表的数据,那么您将不得不遍历这些报表并手动设置数据源。 我希望这会有所帮助,但我想得太快了,所以我可能错过了一些事情。如果它不起作用,请提供评论,我们可能会解决所有问题。
缉康怪
使报告显示为空。在加载数据集之前尝试一下。