Primefaces p:datatable - 更改{CurrentPageReport}

时间:2011-03-28 01:42:38

标签: javascript jsf dynamic datatable primefaces

我正在搜索和搜索,但我找不到任何可以解决我的问题。 我使用DataTable(Primefaces)并想知道如何更改某些字段的语言/输出。

更确切地说,我想更改PaginatorTemplate中的{CurrentPageReport}。 现在,它看起来很简单:(0 of 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-icon是表格中每个按钮的一部分。)

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

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

我正在使用JSF 2.0.3和PrimeFaces 2.2.1。 我怎样才能解决我的问题?我可以从bean加载paginatorTemplate吗? 如果我可以将文本从“0 of 100”更改为“0 aus 100”(德语),那将对我有所帮助。

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

Ioannis K。

2 个答案:

答案 0 :(得分:19)

找到它:

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

对于那些感兴趣的人: - )

*现在:我喜欢这样:

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

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

希望这可以帮助你们!

答案 1 :(得分:0)

我没有测试过,但PrimeFaces确实支持德语区域设置。您是否尝试在bean中设置区域设置以查看“0 of 100”是否更改为“0 aus 100”?

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