Sto usando primefaces datatable con le righe cliccabili e ho bisogno di trovare il modo in cui impostare la riga selezionata da backing bean.Imposta la riga selezionata dal bean di supporto in primefaces datatable
C'è la mia definizione 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>
ho cercato seguente approccio, ma senza successo. Metodo In backing bean ho aggiunto:
public void test(){
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("form:cablePathTable");
dataTable.setRowIndex(2);
}
E ho aggiunto prova butoon alla pagina XHTML:
<p:commandButton process="@this" update=":form:cablePathTable" value="set2row" action="commonTableBean.test"/>
Ma nothig viene modificato sul DataTable, la selezione non è cambiata ...
Per favore qualche idea su come risolvere questo problema?
D'Oh! E 'stato così facile! Grazie mille! –
Prego. Dato che sei nuovo qui, ti preghiamo di non dimenticare di contrassegnare la risposta accettata ogni volta che ha aiutato (la maggior parte) a risolvere il problema. Vedi anche [Come funziona l'accettazione di una risposta?] (Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) – BalusC
è possibile farlo quando la pagina è indicata per? Senza premere un pulsante di comando? – roel