C1ReportDesigner切换Subreports 的可见性

子报表是嵌套到另一个报表中的报表。当我们需要多张报表显示在同一一报表中时我们就需要子报表。在报表中,创建子报表是非常简单的。关于怎样实现子报表,请参考Documentation 。

发布于 2012/12/06 00:00

ComponentOne Enterprise

子报表是嵌套到另一个报表中的报表。当我们需要多张报表显示在同一一报表中时我们就需要子报表。在报表中,创建子报表是非常简单的。关于怎样实现子报表,请参考http://helpcentral.componentone.com/nethelp/c1report/#!Documents/creatingamasterdetai.htm 。

有很多使用场景,我们需要操作子报表的可见性。在这篇文章中,我们将实现以下两个功能:

1. 操作子报表的可见性。

2. 操作子报表展示数量。

以上两个功能只能通过C1ReportDesigner VBScript 编辑器实现。我们需要添加script代码到Detail 区域的OnPrint 事件中。

Case1 : 操作报表的可见性

操作步骤如下:

1. 在报表的 detail 区域添加多个子报表。

2. 设置这些子报表的可见性为 false。

3. 现在,检查标记位的字符串,进而切换子报表的可见性。添加以下代码到VBScript 编辑器中:

str=VehicleName

Field2.Text=str

If str="Car" then

    CarSubReport.Visible= True

    BikeSubReport.Visible= False

    BoatSubReport.Visible= False

Elseif str="Boat" then

    BoatSubReport.Visible= True

    CarSubReport.Visible= False

    BikeSubReport.Visible= False

Elseif str="Bike" then

    BikeSubReport.Visible= True

    CarSubReport.Visible= False

    BoatSubReport.Visible= False

Endif

clip_image002

Case2 :显示不同数量的子报表

在这个case中, 你想在主报表中展示不同数量的子报表,步骤如下:

1. 添加多个纵向的子报表,设置高度为1。因为,一次性可能会出现多个报表。标记字段需要依次自上而下添加避免折叠现象。

2. 设置子报表的Visible 属性为false,设置CanGrow属性为True

3. 现在检测 Detail 区域的标记字段值,切换报表的可见性。:

str=Number

If str="1" then

     CarSubReport.Visible= True

     BikeSubReport.Visible= False

     BoatSubReport.Visible= False

Elseif str="2" then

     CarSubReport.Visible= True

     BikeSubReport.Visible= True

     BoatSubReport.Visible= False

Elseif str="3" then

     CarSubReport.Visible= True

     BikeSubReport.Visible= True

     BoatSubReport.Visible= True

Endif

clip_image004

ComponentOne Enterprise | 下载试用

ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。

ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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