如何移动到包含选定行的 paginatortemplate 中的另一个页面

How move to a another page in paginatortemplate that contains selected row

我在 selection 模式下有一个带分页器模板的 primefaces 数据表。例如,如果我在第一页,并且我的 bean 中 select 是 paginatortemplate 数据表第 4 页中的一条记录,我如何以编程方式移动到第 4 页以查看 selected 行?

xhtml:

<p:dataTable id="tablaVista" 
   var="u"
   value="#{mtoArticulosBean.listaGeneral}"
   emptyMessage="#{msgs.NoHayRegistros}"
   paginator="true" rows="12"  
   paginatorTemplate="{CurrentPageReport}  {FirstPageLink}   PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "  
   selection="#{mtoArticulosBean.registroSel}"
   selectionMode="single" 
   rowKey="#{u.codArticulo}">
   .....
</p:datatable

mtoArticulosBean:

....

setRegistroSel(getListaGeneral().get(42));

....

尽管 selected 记录在第 4 页,但用户仍然看到第 1 页

提前致谢

可以(应该)使用数据表的'first'属性。设置选择时,计算它在哪个页面上(记录编号/页面大小)并使其在 bean 中可用。

在你的 xhtml 中你可以做

<p:datatable first="#{myBean.first}"....    

(另见 Primefaces: set page on datatable