我想在数据中找到所选行的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,但它总是显示我最后一个。
有什么想法吗?
由于
答案 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函数