在进行报表设计的时候有时需要通过后台代码端给参数赋值,有时也需要通过后台获取报表参数的值,然后进行动态数据的筛选。 下面我们首先来说说如何后台给参数赋值: 1、 首先新建一张RDL报表,然后添加参数: 添加两个参数: 参数1:CategoryID 参数2:CategoryName
2、 后台代码端给报表参数赋值: GrapeCity.ActiveReports.PageReportrpt = new GrapeCity.ActiveReports.PageReport(newSystem.IO.FileInfo(@"**.rdlx")); rpt.Report.ReportParameters[0].DefaultValue.Values.Add("1"); ReportParameters[0]代表第一个参数 CategoryID ReportParameters[1]代表第二个参数 CategoryName 这样就直接把后台参数传递给报表了。 如何在后台获取参数的值。 1、首先给报表添加参数 添加两个参数: 参数1:CategoryID 参数2:CategoryName
2、 后台获取传递的参数进行参数的筛选。 这个主要是进行动态数据源绑定,并且用到了报表钻取功能的时候,经常需要后台主表传递的筛选参数,进行数据的筛选。 该操作的注意点: A、 首先主表进行导航的时候,主表传递给子表的参数需要和子表的参数命名一致。
B、 子表的参数设置,命名需要跟主表传递的值得命名一致,这样才能进行信息一致的匹配。 3、 后台参数的获取 报表的参数后台的获取需要在 LocateDataSourceEventArgs 这个函数下才可以获取报表参数的当前值。这一点必须谨记 后台获取参数的关键代码:args.Report.Parameters[0].CurrentValue.ToString(); Parameters[0]代表参数一 Parameters[1]代表参数二 4、具体代码: private void locatedate(object sender,GrapeCity.ActiveReports.LocateDataSourceEventArgs args) { if (args.DataSourceName == "DataSource1") { if (args.DataSetName == "DataSet1") { string a = args.Report.Parameters[0].CurrentValue.ToString(); args.Data = returndata(); } } }
|