I want to generate a rdlc report by manually populating values to dataset because I send the date as an input to the query. I use the following code to do that
//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();
. I’m using a tablix to show my data using the dataset.I have set the correct report to the report viewer. I don’t get any exceptions. But the report keeps loading and does not show the report. What is it I’m doing wrong.
How can I populate the dataset by passing a parameter to the query, and use the resulting dataset in the report?
I just had this problem and solved it.
The loading sign kept showing and never dissapearing.
In my case the problem was that I wasn't handling the IsPostBack
value.
The LocalReport.Refresh()
generates a postback and if not handled, it will keep posting and posting.
This was my problem. By walling Refrеsh the page kept doing PostBacks
protected void Page_Load(object sender, EventArgs e)
{
// Report data source code...
myReport.LocalReport.Refresh();
}
SOLUTION:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
// Report data source code...
myReport.LocalReport.Refresh();
}
}
So, check that you are handling the PostBack and not getting an infinite loop.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With