我尝试从我的bean中获取选定的行索引。
在支持bean中我使用监听器
public void updateCurrent()
{
int rowIndex = dataTable.getRowIndex();
...
}
但我总是在rowIndex
中获得-1 p:dataTable中的我尝试处理我的DataTable并在选择行上调用监听器
<p:ajax event="rowSelect" listener="#{locationBean.updateCurrent}"
process=":mainTab:mainLocationForm:mainLocationTable"/>
PrimeFaces版本 - 3.4
请帮助获取选定的行索引。感谢。
答案 0 :(得分:0)
我不太确定你的方式是检索rowIndex的正确方法。不知何故,浏览器和服务器需要同步当前选定的行(在浏览器中),我不知道它是如何工作的。
使用侦听器参数org.primefaces.event.SelectEvent
您可以将public void updateCurrent()
方法扩展到此:
public void updateCurrent(SelectEvent mySelectEvent) {
// use the mySelectEvent.getObject() method in here and
// check what this object has to offer
}
我没有试过这个,因此无法验证你得到的对象是否有rowIndex(不知何故)。但你可以自己轻松尝试一下。
编辑:同时查看这个问题和balusC的答案: How to get selected row index in JSF datatable?