在曲面上的数据表中选择行

时间:2012-11-21 16:36:12

标签: java datatable primefaces

我想在数据中找到所选行的Id,但我得到之前选择的那个,而不是当前的选择。 我的代码如下

<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,但它总是显示我最后一个。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我已经解决了这个问题的解决方法.. 我正在从像这样选择的行上的primefaces直接执行javascript函数。

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

就像我一直保证在选择行后将执行javascript函数