我想通过手动将值填充到数据集来生成rdlc报告,因为我将日期作为输入发送给查询。 我使用以下代码来做到这一点
//my list get populated with the relevant records according to its date and I'm using the tableadapter of my dataset to do that
List<DailySalesEntity> list = DailySalesHandler.GetSalesByDate(dateTimePicker1.Value);
reportViewer1.LocalReport.DataSources.Clear();
Microsoft.Reporting.WinForms.ReportDataSource report = new Microsoft.Reporting.WinForms.ReportDataSource("DataSet_Dailysales", list);
reportViewer1.LocalReport.DataSources.Add(report);
reportViewer1.LocalReport.Refresh();
。 我正在使用Tablix来使用数据集显示我的数据。我已将正确的报告设置为报告查看器。 我没有任何例外。但是报告不断加载并且没有显示报告。我做错了什么。
如何通过将参数传递给查询来填充数据集,并在报告中使用结果数据集?
答案 0 :(得分:11)
我刚遇到这个问题并解决了它。
装载标志保持显示,永不消失。
在我的情况下,问题是我没有处理IsPostBack
值。
LocalReport.Refresh()
生成回发,如果不处理,它将继续发布和发布。
这是我的问题。通过阻止Refrеsh页面继续进行PostBacks
protected void Page_Load(object sender, EventArgs e)
{
// Report data source code...
myReport.LocalReport.Refresh();
}
解决方案:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
// Report data source code...
myReport.LocalReport.Refresh();
}
}
因此,请检查您是否正在处理PostBack并且没有获得无限循环。