0

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

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

4

1 回答 1

0

我不太确定你的方法是检索rowIndex的正确方法。不知何故,浏览器和服务器需要同步当前选择的行(在浏览器中),我不明白这是如何工作的。

也许这可以/应该通过使用 listener 参数以不同的方式完成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 的答案: 如何在 JSF 数据表中获取选定的行索引?

于 2012-11-23T13:41:46.297 回答