Jasper reports JasperReports服务器:报告中的隐藏列取决于用户名登录

Jasper reports JasperReports服务器:报告中的隐藏列取决于用户名登录,jasper-reports,jasperserver,Jasper Reports,Jasperserver,我也使用iReport 5.0.0和JasperReports服务器5.0.0。我有一些问题,如果我以用户名Admin登录JR服务器,我希望JS显示该列(我需要),但当我以用户名Test1登录时,JS不显示该列。访问此列的权限我使用表来存储它,例如我有两个字段,UserName和AccessRight 请建议我这样做,因为我是JR Server+iReport的新手,并且我在Google中搜索过我没有在I-report中找到此主题,您需要使用“打印时表达式” 使用Groovy作为报告语言的示例

我也使用iReport 5.0.0和JasperReports服务器5.0.0。我有一些问题,如果我以用户名Admin登录JR服务器,我希望JS显示该列(我需要),但当我以用户名Test1登录时,JS不显示该列。访问此列的权限我使用表来存储它,例如我有两个字段,UserName和AccessRight


请建议我这样做,因为我是JR Server+iReport的新手,并且我在Google中搜索过我没有在I-report中找到此主题,您需要使用“打印时表达式”

使用Groovy作为报告语言的示例

$P{LoggedInUsername} == "Admin" ? true :false
还是用JAVA

($P{LoggedInUsername}.toString().contains("Admin"))?new Boolean(true) : new Boolean(false)
您可能希望按用户角色执行此操作,因为如果有多个用户希望查看该列,则语句可能会变得丑陋


[JasperSoft Community Docs][1]

非常感谢您的回答。但我想使用表来存储访问此列的值,例如username=“admin”access\u right=“y”或username=“test1”access\u right=“n”等等。请建议我这样做。我不确定我是否理解。您可以使用jasper服务器中的域进行这种访问控制。另一方面,您可以将其作为SQL语句的一部分,也可以使用case语句。非常感谢你的好意。我在案件陈述书中这样做,这就是工作。再次感谢你的帮助。