2017-01-04 13 views
0

私はprimefacesデータテーブルを使用しており、JavaScriptを使用せずにクリック可能にしようとしています。誰でも助けてくれますか?primefacesのカラムをクリック可能にする方法

ここに私のコードです。行をクリックすることで、メソッドを呼び出すことができます。

<p:dataTable id="examplej" class="table couple-table" rowKey="#{info.id}" selectionMode="single" selection="#{bb.detail(info)}" rowIndexVar="rowIndex" 
        var="info" value="#{bb.coupleList}" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" 
        rowsPerPageTemplate="5,10,15" paginator="true" emptyMessage="お探しの地域では見つかりませんでした"> 
    <p:column class="column-couple"> 
       <h:outputText value="#{info.addressOne}" /> 
      </p:column> 

これは、行をクリックして呼び出す方法です。

   <p:commandLink action="#{bb.detail(info)}"/> 

私は自分のWebアプリケーションを実行すると、私は今、このエラーが発生します。

javax.el.PropertyNotFoundException:クラス 'java.lang.String'にはプロパティ 'id'がありません。

ありがとうございます。

+0

rowSelectイベントはどうですか?? ' ' –

答えて

0

selectionおよびselectionModeの属性を使用して<p:datatable>のコンポーネントを使用して行うことができます。選択時に、選択したオブジェクトで何をしたいかをバッキングBeanで指定することができます。それは明確に文書化され、提示されていますprimefaces showcase site

+0

私はそれをしましたが、私はrowKeyを追加しなければならないことを知りました。 – anonyrabbit

+0

例外は、情報オブジェクトがStringオブジェクトであるため、idパラメータを持たないことを明確に示しています。 rowkey属性は、選択された行を識別するために使用されます。データテーブルに表示されているオブジェクトのフィールドにバインドする必要があります。私はあなたのケースでは、情報オブジェクトが何であるかはわかりませんが、確かにidプロパティはありません –

関連する問題