如何设置输入控件的语言?

时间:2013-03-19 11:56:00

标签: mysql sql jasper-reports jasperserver

这是我的输入控件:

enter image description here

请注意,“课程组”(单选查询)中的信息为英文

以下是获取“课程组”

中数据的查询
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

现在您可以看到,查询是硬编码的,因此语言始终是英语,因此,如果用户使用其他语言登录,则输入控件中的数据将始终为英语

我尝试用and cd.cd_language_id = 3替换值 3 表单查询("$P{REPORT_LOCALE}.getDisplayLanguage().equals("English") ? new Integer(3): new Integer(2)") 它适用于报表的XML,但在输入控件查询

中不起作用

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您无法更改输入控件值的语言,因为这些值存储在数据库中,输入控件只从数据库中获取数据,无论数据存储在数据库中,如果在数据库中以其他语言存储,则只能更改输入控件值。

要更改JasperReport服务器级别的输入值: -

 1:- Create one more input control(p_language) to ask the Language
                   (value column (id) and visible column(language desc))

 2:- then create a casecading input control to fetch the value of course group 
     using this query.

   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 = $P{p_language}
    and cn.cn_language_id = $P{p_language}
    order by coursegroup