如何使用iReport呈现单个JRDatasource的特定子集?

时间:2019-05-14 04:39:28

标签: jasper-reports datasource subreport

这是我得到的数据的可视化视图:

SystemSummaryBean [amVersion=<none>, jvmVersion=1.8.0_201-b09, osVersion=Windows 10, container=Apache Tomcat/7.0.34, ram=15.87 GB, heap=2.96 GB, numOfProcessors=8, numOfServers=1, activeUsers=NO_STATISTICS_AVAILABLE_YET, userStore=null, userCountByUserStore=null, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=Default, userCountByUserStore=10, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=ActiveDirectory, userCountByUserStore=Not available, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=DummyUserStore, userCountByUserStore=Not available, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=OpenLDAP, userCountByUserStore=Not available, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=TAM, userCountByUserStore=Not available, authRealmId=null, loginModuleId=null, loginModuleHandler=null, realmUsers=null], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=null, userCountByUserStore=null, authRealmId=SystemRealm, loginModuleId=SystemPasswordBasic, loginModuleHandler=SystemPasswordBasic, realmUsers=3], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=null, userCountByUserStore=null, authRealmId=t1Realm, loginModuleId=SystemPasswordBasic, loginModuleHandler=SystemPasswordBasic, realmUsers=1], 

SystemSummaryBean [amVersion=null, jvmVersion=null, osVersion=null, container=null, ram=null, heap=null, numOfProcessors=null, numOfServers=null, activeUsers=null, userStore=null, userCountByUserStore=null, authRealmId=t1Realm2, loginModuleId=SystemPasswordBasic, loginModuleHandler=SystemPasswordBasic, realmUsers=1]

我想在三个单独的部分中显示此数据:

  1. 第一部分将显示常规属性-即amVersionactiveUsers之间的所有字段。

  2. 第二部分将显示每个用户存储的信息-即字段userStoreuserCountByUserStore。如上图所示,可以有多个商店。

  3. 最后一部分将显示特定于模块的信息-即其余数据。同样,可以有多个模块。

我的数据将完全来自一个JRDatasource。我考虑使用三个子报表,但是显然不可能在多个子报表之间共享单个数据源。我不确定如何克隆主数据源,以便可以在子报表中使用它们。

更重要的是,实现这一目标的最佳方法是什么(对于Jasper报告,我还比较陌生)?

注意:我要做的这一部分工作包括在iReport中开发Jasper报告模板(由于向后兼容性问题,因此不开发Jaspersoft Studio),因此我想尽可能地解决此问题,而无需编写代码。

0 个答案:

没有答案