2012-11-21 76 views
0

我想obable在datable中選定的行的Id,而是我得到之前選擇的一個,而不是當前的選擇。 我的代碼及其以下選擇在primefaces上的數據表中的行

<p:dataTable id="translationsTable" var="translation" value="#{videoBean.lyric.polylrcList}" rowKey="#{translation.lang}" selectionMode="single" selection="#{videoBean.selected}"> 
        <p:ajax event="rowSelect" update="translationsTable" process="translationsTable" oncomplete="alert(#{videoBean.selected.id});"/> 
</p:dataTable> 

應該顯示當前的ID,但它總是向我展示的最後一個。

有什麼想法?

感謝

回答

0

我已經做了一個解決方法來解決這個問題.. 我直接執行從這樣選擇的行上的primefaces的JavaScript函數。

public void rowSelected(SelectEvent event) { 
    selectedPolyLrc = (Polylrc) event.getObject(); 
    RequestContext.getCurrentInstance().execute("alert("+selectedPolyLrc.getId()+");"); 
    System.out.println("SELECTED AREA:" + selectedPolyLrc); 
    //... 
} 

就像那個我總是放心,行選擇

1
<p:dataTable id="translationsTable" var="translation" value="#{videoBean.lyric.polylrcList}"  rowKey="#{translation.lang}" selectionMode="single" selection="#{videoBean.selected}"> 

    <p:column> 
     #{translation.id} 
    </p:column> 

    <p:ajax event="rowSelect" update="translationsTable" process="translationsTable" oncomplete="alert(#{translation.id});"/> 

</p:dataTable> 

您可以使用www.primefaces.org

+0

的問題後,JavaScript函數將被執行的,一旦你選擇列和AJAX事件是觸發它會在完成時發出警報,但最後的選擇不是從當前所選的一個選擇。 –

相關問題