如何在backingbean中获取选定的行索引



我试图从我的bean中获取选定的行索引。

在backingbean中,我使用监听器

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

请帮助获取所选行索引。谢谢

我不太确定您的方法是否是检索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的答案:如何在JSF数据表中获取选定的行索引?

最新更新