2011-03-28 97 views
4

我正在搜索和搜索,但找不到任何东西来解决我的问题。 我使用DataTable(Primefaces)并想知道如何更改某些字段的语言/输出。Primefaces p:datatable - 更改{CurrentPageReport}

更确切地说,我想更改PaginatorTemplate中的{CurrentPageReport}。 现在,它看起来很简单:(0的100)。 我想要这样(第0页,共100页,500结果)。

我尝试了很多,但没有任何效果。 最后我所做的是:

function change_text() { 
    $(".ui-paginator-current").each (function() { 
     $(this).html("Simple test"); 
    });  
} 

$(".ui-icon").each(
      function(index) { 
       $(this).bind ("click",function(){ change_text(); }); 
      } 
    ); 

(UI图标是表中的每个按钮的一部分。)

但是,这是不是真的有效,你可以:-) 看到此解决方案的一半-办法。当我按下按钮(下一页,上一页)时,.ui-paginator-current字段中的文本将变回默认模板。 我知道..原因是因为这个字段也被重新加载。

我也尝试更改Primefaces代码,但是我找不到正确的代码区域。

我正在使用JSF 2.0.3和PrimeFaces 2.2.1。 我该如何解决我的问题?我可以从bean加载paginatorTemplate吗? 如果我可以将文本从“0的100”改为“0 aus 100”(德文),那真的会有帮助。

希望你们能帮助我,就像我每次遇到问题一样。

扬K.

回答

19

发现:

<p:dataTable currentPageReportTemplate="{currentPage} #{loc.of} {totalPages}" /> 

对于那些谁感兴趣:-)

*现在:我有这样的:

paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 

currentPageReportTemplate="(Entries: {startRecord} - {endRecord} of {totalRecords}, Page: {currentPage}/{totalPages})" 

希望这有助于你们!

+3

您也可以这样做:'currentPageReportTemplate =“#{msg.PAGE_LABEL}”'其中'#{msg.PAGE_LABEL}'是'PAGE_LABEL = {totalPage}的{currentPage},存储在英文资源包中(MessageResources_en.properties)。对于其他语言,只需翻译“** **”一词并将每个翻译存储在单独的资源包中,例如,为法语资源包(MessageResources_fr.properties)执行此操作:'PAGE_LABEL = {currentPage} sur {totalPages }'。希望这有助于任何人在未来发布此帖。 – ChuongPham 2011-04-18 16:15:56

+0

@Ioannis:这真的有很大的帮助! – 2012-05-16 02:57:44

0

我没有测试过,但PrimeFaces不支持德文场所。你有没有尝试设置你的bean中的区域设置,看看“0 of 100”是否变为“0 aus 100”?

FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale("de")); 
+0

是的,我想我是。我的(我们)项目支持多语言,并且它自己检查用户浏览器中的哪个默认语言是通过faces-config.xhtml设置的。 FacesContext.getCurrentInstance()。getViewRoot()。setLocale()正在自动执行,它的工作原理。当我将我的浏览器语言更改为德语时,我的整个网站都是德语,但不是页面报告。 – 2011-03-28 17:37:14

+1

Ioannis K .:您可能希望添加该答案并接受该答案,以便其他人更容易找到该解决方案。 – 2011-03-29 15:26:50

+0

你是对的Jörn。我现在做了。我只是想知道这里的东西是如何工作的。 – 2011-03-30 15:50:20

相关问题