Ustaw wybrany wiersz z komponentu bean w pratefaces datatable

Korzystam z datatable primefaces z klikalnymi wierszami i muszę znaleźć sposób na ustawienie wybranego wiersza z komponentu bean.

Jest moja definicja datatable:

<p:dataTable id="cablePathTable" var="cablePath" value="#{commonTableBean.cableLazyModel}" rows="100"
         selectionMode="single" selection="#{commonTableBean.selectedCablePathTblRow}" 
         rowIndexVar="rowIndex"  widgetVar="datatableVar"
         emptyMessage="---">  
<p:ajax event="rowSelect" process="@this" update=":form:portFieldset" />

<p:column headerText="No">  
    <h:outputText value="#{cablePath.column1}" />  
</p:column>
<p:column headerText="Port A">  
    <h:outputText value="#{cablePath.column4}" />  
</p:column>
<p:column headerText="Port B">  
    <h:outputText value="#{cablePath.column5}" />  
</p:column>

Próbowałem postępować zgodnie z podejściem, ale bez powodzenia. W komponencie bean bean dodałem metodę:

public void test(){
    DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("form:cablePathTable");
    dataTable.setRowIndex(2);
}

Do strony XHTML dodałem butoon testowy:

<p:commandButton process="@this" update=":form:cablePathTable" value="set2row" action="commonTableBean.test"/>

Ale nie zmienia się na datatable, wybór nie zmienił się ...

Proszę o pomysły, jak rozwiązać ten problem?

questionAnswers(1)

yourAnswerToTheQuestion