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を取得する正しい方法であるかどうかはわかりません。どういうわけか、ブラウザーとサーバーは現在選択されている行 (ブラウザーで) を同期する必要がありますが、これがどのように機能するかわかりません。

おそらくこれは、リスナーパラメーターを使用して別の方法で行うことができます/行う必要があります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 に答える