RDLC报告在不显示数据的情况下继续加载

时间:2012-06-15 11:33:28

标签: c# reporting rdlc

我想通过手动将值填充到数据集来生成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来使用数据集显示我的数据。我已将正确的报告设置为报告查看器。 我没有任何例外。但是报告不断加载并且没有显示报告。我做错了什么。

如何通过将参数传递给查询来填充数据集,并在报告中使用结果数据集?

1 个答案:

答案 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并且没有获得无限循环。