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

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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