Я пытаюсь создать параметризованный отчет, используя две таблицы данных в одном наборе данных, это потому, что в первом datatable я получаю все записи и отображаю их на но когда пользователь вводит параметр даты и даты и фильтр щелчка, я хотел бы, чтобы отчет изменился на другой тип данных, который принимает параметры.Экземпляр источника данных не был предоставлен для источника данных rdlc report
Что appreas на странице загрузки:
я выполнил выше с этим кодом
if (Page.IsPostBack == false)
{
NetWeightIolaDataSet.Net_Weight_Tracking1DataTable table = new NetWeightIolaDataSet.Net_Weight_Tracking1DataTable();
NetWeightIolaDataSetTableAdapters.Net_Weight_Tracking1TableAdapter adpt =
new NetWeightIolaDataSetTableAdapters.Net_Weight_Tracking1TableAdapter();
adpt.Fill(table);
ReportDataSource rds = new ReportDataSource("NetWeightIolaDataSet_Net_Weight_Tracking1", table);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
ReportViewer1.Visible = true;
}
я могу получить параметры для работы на отчет, если я использую этот код и добавить параметров в отчете:
//ReportParameter param = new ReportParameter("fromdate", fromdate.Text);
//this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { param });
//ReportParameter paramm = new ReportParameter("todate", todate.Text);
//this.ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { paramm });
, но я не знаю хочу, чтобы это сделать, как это вместо того, чтобы я хотел бы передать параметры в отчет с помощью DataTable в наборе данных, а затем назначить, который имеет источник для отчета, но когда я сделал, что я получаю эту ошибку:
A data source instance has not been supplied for the data source 'NetWeightIolaDataSet_Net_Weight_Tracking1'.
моих Набор данных:
так на дисплее загрузки страницы все данные, используя DataTable без каких-либо параметров, но когда диапазон дат обеспечивается и при нажатии кнопки фильтра щелкнул использовать другой DataTable в качестве источника отчета:
это код для передачи значения из текстового поля и заполнение DataTable с параметром:
NetWeightIolaDataSet.Net_Weight_TrackingDataTable table = new NetWeightIolaDataSet.Net_Weight_TrackingDataTable();
NetWeightIolaDataSetTableAdapters.Net_Weight_TrackingTableAdapter adpt = new NetWeightIolaDataSetTableAdapters.Net_Weight_TrackingTableAdapter();
adpt.Fill(table, DateTime.Parse(fromdate.Text), DateTime.Parse(todate.Text));
ReportDataSource rds = new ReportDataSource("NetWeightIolaDataSet_Net_Weight_Tracking", table);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
ReportViewer1.Visible = true;