Генерация отчета telerik несколько раз по параметру multiValue - PullRequest
1 голос
/ 13 июня 2019

Я хочу сгенерировать отчет telerik несколько раз.
1. У меня есть myReport.trdx
2. В моем приложении, в средстве просмотра, я вижу использование этого отчета, я выбираю параметры и могу генерировать предварительный просмотр, могу экспортироватьАсо.Допустим, у этого параметра есть ключевой параметр myParam1.Устанавливается как одно значение, mergable = false.
3. Моя задача: а).Добавьте к этому отчету дополнительный параметр myParm1_MultiValue, для которого multiValue установлено значение true.Это я сделал в файле trdx.
b).Во время генерации рапорта получите значение myParm1_MultiValue.Если я справлюсь с этим в reportViewer.html, это будет здорово. ЭТО Я НЕ МОГУ УПРАВЛЯТЬ.
c).Затем я передаю счетчик выбранного myParm1_MultiValue в решатель отчетов вместе со строкой отчета.
d).В средстве разрешения отчетов вместо создания исходного мгновенного отчета я создаю несколько экземпляров исходного отчета, например, myParm1_MultiValue count.
e).В reportViewer.html в редакторе параметров я (каким-то образом) вставил конкретные значения myParm1_MultiValue в отдельные экземпляры отчета.

Я могу статически создавать экземпляры отчета.

In ReportViewer.html
$("#reportViewer1")
            .telerik_ReportViewer({
                serviceUrl: "api/reports",
                templateUrl: 
'ReportViewer/templates/telerikReportViewerTemplate-FA.html',
                reportSource: {
                    report: reportName + "|5" //added static count
                },

In ReportResolver
protected override ReportSource ResolveReport(string report)
    { 
        if (!report.Contains("|"))
        {
            if (report.StartsWith(_startsWithValue))
            {
                report = report.Replace(_startsWithValue, _customReportsPath);
            }
            return base.ResolveReport(report);
        }
        else
        {
            var massReportParams = report.Split('|');
            report = massReportParams[0];

            if (report.StartsWith(_startsWithValue))
            {
                report = massReportParams[0].Replace(_startsWithValue, _customReportsPath);
            }

            var book = new ReportBook();
            for (var i = 0; i < int.Parse(massReportParams[1]); i++)
            {
                var resolvedReport = base.ResolveReport(report);
                book.ReportSources.Add(resolvedReport);
            }
            return new InstanceReportSource { ReportDocument = book };
        }
    }

Я хочу заменить "| 5" на COUNT read myParam1_MultiValue.VALUE.
В результате я хочу видеть, что при запуске приложения в средстве просмотра отчетов, в предварительном просмотре, а также в экспортированном файле создаются несколько отчетов, каждый из которых соответствует определенному выбранному.myParm1_MultiValue items.

Моя главная проблема в том, как получить myParam1_MultiValue в reportViewer.html

Может кто-нибудь помочь?
Джола К.

...