Sharma Richa Ответов: 2

динамическая загрузка отчета в Средство просмотра отчетов


Всем Привет

Я использую reportwizard для отчетов.
я использую MicrosoftReportViewer, чтобы показать эти отчеты.
я хочу выбрать отчет для отображения в reportviewer во время выполнения.
для этого я использую следующий код :


private void Report_Load(object sender, EventArgs e)
        {
            reportViewer1.ProcessingMode=ProcessingMode.Local;
            LocalReport lr = reportViewer1.LocalReport;
            lr.ReportPath = AppDomain.CurrentDomain.BaseDirectory+"..\\..\\Reports\\rptSaleHotel.rdlc";
            SqlDataAdapter adp = new SqlDataAdapter("HotelSale", ConfigurationManager.ConnectionStrings["cn"].ConnectionString);
            adp.SelectCommand.CommandType = CommandType.StoredProcedure;
            adp.SelectCommand.Parameters.Add("@from",SqlDbType.DateTime).Value="02-02-2011";
            adp.SelectCommand.Parameters.Add("@to", SqlDbType.DateTime).Value = "02-17-2011";
            DataSet ds = new DataSet();
            adp.Fill(ds);
            ReportDataSource rds = new ReportDataSource();
            this.reportViewer1.LocalReport.DataSources.Clear();
            rds.Value = ds.Tables[0];
            rds.Name = "salehotel";
            string st=lr.ReportPath.ToString();
            lr.DataSources.Add(rds);      
        }



но он показывает совершенно пустой отчет и сообщение
A datasource instance has not been supplied for the datasource 'dbTraDeskDatase_HotelSale'.я проверил значение в наборе данных, которое содержит 6 записей.

может ли кто-нибудь сказать мне, где я ошибаюсь


заранее спасибо

Member 10957757

большое тебе спасибо, братан. ваш код очень полезен

2 Ответов

Рейтинг:
2

Sharma Richa

я получил ответ.
я был неправ в этом.
rds.Name = "salehotel";
здесь я должен дать
rds.Name = "dbTraDeskDataSet_HotelSale";
то есть имя источника данных.


спасибо


Рейтинг:
0

Ramalinga Koushik

Надежда Привязка данных в элемент управления-динамически-в-Паш-2.0[^- это может тебе помочь.