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

发布时间:2013/12/18 00:12 发布者:jian

返回博客中心

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

源码下载:


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网