protected override void OnSubReportProcessing(object sender, ServerSubReportProcessingEventArgs args)
        {
            base.OnSubReportProcessing(sender, args);

            if (args.ReportPath == PartialSubReportName || args.ReportPath == FullSubReportName)
            {
                var page = int.Parse(args.Parameters["Page"].Values[0]);

                var pagedDiagramPos = diagramPos.Values
                                      .SelectMany(dictionary => dictionary.Values)
                                      .OrderBy(po => po.Values.First().ColumnSortOrder)
                                      .Skip(page * MaxColumnCount).Take(MaxColumnCount)
                                      .SelectMany(dictionary => dictionary.Values)
                                      .ToList();

                var pagedTablePos = tablePos.Values.SelectMany(dictionary => dictionary.Values)
                                    .OrderBy(po => po.Values.First().First().ColumnSortOrder)
                                    .Skip(page * MaxColumnCount).Take(MaxColumnCount)
                                    .SelectMany(dictionary => dictionary.Values)
                                    .SelectMany(list => list)
                                    .ToList();

                ReportDataSource.SetDataSources(args.DataSources, new List <ReportDataSource>
                {
                    new ReportDataSource(pagedDiagramPos, ReportDataSourceFactory),
                    new ReportDataSource(pagedTablePos, ReportDataSourceFactory)
                });
            }
        }
Esempio n. 2
0
 protected override void OnSubReportProcessing(object sender, ServerSubReportProcessingEventArgs args)
 {
     base.OnSubReportProcessing(sender, args);
     if (poListDictionary.ContainsKey(args.ReportPath))
     {
         ReportDataSource.SetDataSources(args.DataSources, new List <ReportDataSource> {
             new ReportDataSource(poListDictionary[args.ReportPath], ReportDataSourceFactory)
         });
     }
 }
 protected override void OnSubReportProcessing(object sender, ServerSubReportProcessingEventArgs args)
 {
     base.OnSubReportProcessing(sender, args);
     if (args.ReportPath == FilterListSubReportName)
     {
         ReportDataSource.SetDataSources(args.DataSources, new List <ReportDataSource> {
             new ReportDataSource(FilterList, ReportDataSourceFactory)
         });
     }
 }