У меня есть локальный отчет .rdlc, который можно отобразить нажатием кнопки, но по какой-то причине отчет отображается только во время события 2-го нажатия кнопки. Я понятия не имею, почему отчет не отображается при первом нажатии кнопки ... Это функция, которую я вызываю при нажатии кнопки кнопки.Отчеты служб SQL Reporting Services загружаются только при втором щелчке
private void ShowReport(string accountingCompanyId, string companyId, string approvalUnitId, DateTime startDate, DateTime finishDate, string supplierId,
string documentNumber, string documentType, string documentState, string costCenterId, string chargingKeyId,
string dim1Value, string dim1Description, string dim1Id, string dim2Value, string dim2Description, string dim2Id,
string dim3Value, string dim3Description, string dim3Id, bool showDetails) {
//this.ReportViewer1.Reset();
//Set report mode for local processing.
this.ReportViewer1.ProcessingMode = ProcessingMode.Local;
ISettingsReader settingsReader = SettingsReaderFactory.Instance.CreateSettingsReader();
this.ReportViewer1.LocalReport.ReportPath = settingsReader.GetSetting("ReportViewer", "FinancialReportPath" + (showDetails ? "" : "Small"), true, null);
ReportsBL reports = new ReportsBL();
// Clear out any previous datasources.
this.ReportViewer1.LocalReport.DataSources.Clear();
// Load the company dataSource.
DataTable company = reports.GetCompanyDataSet(accountingCompanyId).Tables[0];
ReportDataSource dataSourceCompany = new ReportDataSource(company.TableName, company);
this.ReportViewer1.LocalReport.DataSources.Add(dataSourceCompany);
// Load the dataSource.
DataTable report = reports.GetReportFinanceiroSmallDataSet(companyId, startDate, finishDate, chargingKeyId, costCenterId, documentNumber, documentType, dim1Value, dim2Value, dim3Value, dim1Id, dim2Id, dim3Id, supplierId, approvalUnitId, documentState, accountingCompanyId).Tables[0];
ReportDataSource dataSourceReport = new ReportDataSource(report.TableName, report);
this.ReportViewer1.LocalReport.DataSources.Add(dataSourceReport);
this.ReportViewer1.LocalReport.Refresh();
this.pnlReport.Visible = true;
}
Странно, если я раскомментировал строку this.ReportViewer.Reset(); то отчет никогда не будет отображаться независимо от количества кликов, которые я генерирую ... Кто-нибудь знает, нормально ли это? Как можно обойти проблему? Заранее спасибо,
Но вы делаете это по методу pageload, или вы делаете это по методу onclick? Какую версию ReportViewer вы используете? –
Я вызываю метод через элемент управления обратной связью. Я вытащил это из события DropDownList_SelectedIndexChanged. Я использую ReportViewer.WebForms версии 10.0.0.0. – m4chine