Activereports参数设置之页面报表传递多值参数

ActiveReports提供了WinForms/ASP.NET/WPF/Silverlight平台中使用的报表查看器控件,这些控件都内置了报表参数面板,用户可以通过参数面板来过滤报表数据。不过我们也可以通过代码给参数赋值,以实现更多自定义的功能,本文将演示如何通过代码为页面报表中的多值参数传递参数值。<br/><img src="/image.ashx?picture=image_thumb_293.png" alt="Activereports参数设置之页面报表传递多值参数" width="500px" />

发布于 2013/12/18 00:00

ActiveReports

ActiveReports提供了WinForms/ASP.NET/WPF/Silverlight平台中使用的报表查看器控件,这些控件都内置了报表参数面板,用户可以通过参数面板来过滤报表数据。不过我们也可以通过代码给参数赋值,以实现更多自定义的功能,本文将演示如何通过代码为页面报表中的多值参数传递参数值。

以下演示的功能是产品分类列表清单实现方法,在同一个报表可以显示一个或多个分类的产品信息,用户就可以为类别参数指定一个或多个值。

第一步:在VS中创建一个WinForms应用程序,并添加一个页面报表 PageReport1.rdlx

第二步:打开报表设计界面,在报表资源管理器的参数节点中,添加一个名为 Categories 的参数,详细设置如下图:

1209

第三步:设置报表数据源

在报表资源管理器中添加数据源和数据集,并在数据集中添加一个参数,如下图

image

在数据集查询中写入以下查询语句,注意where条件中的 in 操作符的值是通过参数来指定的,我们使用的是参数占位符 ?

select * from 产品 where 类别ID in (?)

第四步:在应用程序中加载报表,并为参数设置参数值,代码如下:

    private void 页面报表ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        GrapeCity.ActiveReports.PageReport pagereport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("PageReport1.rdlx"));
        // 设置参数值,因为该参数允许多值,所以可以调用多次Add添加多个参数值
        pagereport.Report.ReportParameters[0].DefaultValue.Values.Clear();
        pagereport.Report.ReportParameters[0].DefaultValue.Values.Add("1");
        pagereport.Report.ReportParameters[0].DefaultValue.Values.Add("2");
        pagereport.Report.ReportParameters[0].DefaultValue.Values.Add("3");
        viewer1.LoadDocument(pagereport.Document);
    }

运行截图:

image

源码下载:

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态