如何在支持bean中获取选定的行索引

时间:2012-11-22 12:44:06

标签: datatable primefaces

我尝试从我的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

请帮助获取选定的行索引。感谢。

1 个答案:

答案 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?