Как динамически установить источник данных для подотчетов с отчетом Active Reports 13 rdlx - PullRequest
0 голосов
/ 31 октября 2019

У меня есть отчет Active Reports 13, определенный в формате rdlx. Отчет также содержит несколько подотчетов.

При определении в конструкторе отчетов источник данных настроен на некоторые тестовые данные, однако, когда отчет внедряется в приложение WPF, мы хотим обновить местоположениебазы данных прагматично.

Нам удалось обновить источник данных для основного отчета, но нам не ясно, как обновить источник данных для подотчетов.

string report = _reportPath;
// checked the report file exists ...
if (File.Exists(report))
{
    // create and setup the data source
    // create an empty page report
    GrapeCity.ActiveReports.PageReport def = new GrapeCity.ActiveReports.PageReport();

    //load the report layout
    def.Load(new System.IO.FileInfo(report));

    //setup the dataset
    GrapeCity.ActiveReports.PageReportModel.DataSource myDataSource = def.Report.DataSources[0];

    def.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB";

    def.Report.DataSources[0].ConnectionProperties.ConnectString = @"RunData.mdb;provider=Microsoft.Jet.OLEDB.4.0;";


    // loop through subreports and set the location of the run data database
    // ????

    reportViewer.LoadDocument(def.Document);
}

У кого-нибудь есть указания на то, как мы должны писать код в «????»выше, чтобы также обновить подотчеты?

1 Ответ

0 голосов
/ 01 ноября 2019

Это делается в событии в документе отчета. LocateDataSource

Также, пожалуйста, обратитесь к этому примеру, чтобы увидеть, как используется LocateDataSource: DataSet DataSource ,Вы можете получить доступ к образцу приложения, загрузив пробную версию ActiveReports 13 здесь .

Best,

Служба поддержки GrapeCity

...