这是我的输入控件:
注意“课程组”(单选查询)中的信息是英文的
这是获取“课程组”中数据的查询
select distinct(cog.cog_id) id, concat(cd.cd_shortdescription, '
(', cn.cn_shortname,' - ', cog.cog_org_be_id, ' - ', cd_code.cd_code, ')')
coursegroup
from es_exam_statistics_ft es, cg_classgroup cg, org_organisation org,
cn_campusname cn, cog_coursegroup cog, cd_codedescription cd, cd_code
where es.es_cg_id = cg.cg_id
and es.es_cog_id = cog.cog_id
and cog.cog_coursegroup_cd_id = cd.cd_id
and cd.cd_id = cd_code.cd_id
and org.org_be_id = cog.cog_org_be_id
and org.org_campusid = cn.cn_campusid
and cg.cg_startdate >= $P{startDate}
and cg.cg_enddate <= $P{endDate}
and cd.cd_language_id = 3
and cn.cn_language_id = 3
order by coursegroup
问题出在我用粗体语言 ID 设置的行上
2=Afrikaans
3=English
现在如您所见,查询是硬编码的,因此语言始终为英语,因此,如果用户以不同的语言登录,输入控件中的数据将始终为英语
我尝试将值3表单查询 ( and cd.cd_language_id = 3
)替换"$P{REPORT_LOCALE}.getDisplayLanguage().equals("English") ? new Integer(3): new Integer(2)"
为在报告的 XML 中有效,但在输入控件查询中无效
我该如何解决这个问题?