如何在BIRT报表中使用正则表达式隐藏表格行
BIRT报表隐藏包含指定字符串行的解决思路
错误原因分析:你当前使用的
row["type_collecte"] != new RegExp('/Tourn/')写法完全错误,new RegExp('/Tourn/')会创建一个匹配/Tourn/(包含首尾斜杠)的正则对象,且直接用!=比较字符串和正则对象永远无法得到正确匹配结果。正确实现方式:
正则
test()方法(推荐,支持大小写不敏感):
在表格行的可见性属性表达式中写入:!/tourn/i.test(row["type_collecte"])解释:
/tourn/i是不区分大小写的正则规则,test()方法检测目标字符串是否匹配该规则,!取反后表示匹配到tourn的行将被隐藏。字符串
includes()方法(简单直接):
若仅需大小写敏感匹配:!row["type_collecte"].includes("tourn")需支持大小写不敏感时,先统一字符串大小写再判断:
!row["type_collecte"].toLowerCase().includes("tourn")字符串
match()方法:
通过正则匹配判断,写法如下:row["type_collecte"].match(/tourn/i) == null含义为:未匹配到
tourn(不区分大小写)的行正常显示,匹配到的行隐藏。
注意事项:
- 若
row["type_collecte"]可能为空值,需先做空值判断避免报错:row["type_collecte"] == null || !/tourn/i.test(row["type_collecte"]) - 确保BIRT表达式编辑器选择的语言为JavaScript。
- 若
内容的提问来源于stack exchange,提问作者Mohammed Ajeddig
相关产品推荐
相关产品推荐

