Exemplo n.º 1
0
        /// <summary>
        /// Método acionado quand for necessário processar um subrelatório.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LocalReportSubreportProcessing(object sender, Microsoft.Reporting.WebForms.SubreportProcessingEventArgs e)
        {
            var parameters = new ReportParameterInfoCollection();

            foreach (var i in e.Parameters)
            {
                parameters.Add(new ReportParameterInfo {
                    AllowBlank = i.AllowBlank,
                    DataType   = (ParameterDataType)(int)i.DataType,
                    Nullable   = i.Nullable,
                    MultiValue = i.MultiValue,
                    Name       = i.Name,
                    Values     = i.Values
                });
            }
            var args2 = new Colosoft.Reports.SubreportProcessingEventArgs(e.ReportPath, parameters, e.DataSourceNames.ToArray());

            Document.ProcessSubreport(args2);
            foreach (var i in args2.DataSources)
            {
                e.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource(i.Name, i.Value));
            }
        }