2016-09-29 6 views
0

私はp:dataTableにp:outputLabelコンポーネントを含むいくつかの列を持っています。 ユーザーがoutputLabelをクリックすると、サーバーサイドのプロセスを呼び出していくつかのことを行うことができるように、p:ajaxの機能を追加したいと思います。単純なケースでは、いくつかの情報を集めてダイアログに表示します。私は明らかにこのp:ajaxコンポーネントをp:outputLabelと一緒に使用できますか?

<p:outputLabel value="#{term.explanation}" > 
     <p:ajax event="click" listener="#{backingBean.myListener}" /> 
    </p:outputLabel> 

のようなものを探しています

、これは動作しませんので、誰かが私に私はこのような何かを得ることができる方法についてのヒントを与えることができるかもしれない場合、私は思っていました。制約条件は、dataTableがp:outputLabelコンポーネントを保持する必要があるということです。これを実現するには何らかの方法が必要です。

ありがとうございます。 デイブJ.

+0

@Kukeltje申し訳ありません..私はちょうど今、あなたのコメントを参照してください。私はすでに私の答えを書いていた。 –

+0

問題ありません。次の日に完全な答えを書くことができません。 Deldenでのゴルフの3日間。私の携帯電話へのアクセスのみ。したがって、短いコメント(通常のように;-)) – Kukeltje

+0

リモートコマンドをデータテーブル列のコンテキストで動作させることはできませんでしたが、コマンドリンクオプションが機能します。フィードバックをお寄せいただきありがとうございます。 – DJarz

答えて

0

はあなたがここにp:remoteCommandを使用することができ

<p:commandLink actionListener="#{backingBean.myListener}""> 
     <p:outputLabel value="#{term.explanation}" > </p:outputLabel> 
</p:commandLink> 
+0

これはあなたのHTMLにリンク(とそのスタイルと振る舞い)を追加します –

+0

これは、スタイル= "text-decoration:none"を追加して下線を非表示にすると、これを実行します。 – DJarz

0

を使用してみてください。これを使用して、JavaScriptを使用してバッキングBeanメソッドを実行できます。

<p:remoteCommand name="onLabelClick" 
       actionListener="#{backingBean.myListener}"/> 
<p:outputLabel value="#{term.explanation}" 
       onclick="onLabelClick()"/> 

あなたがp:remoteCommandにパラメータを追加し、値として#{component.clientId}を使用することができますクリックされた特定のp:outputLabelを知ることができるようにする必要がある場合:たとえば。

も参照してください:

関連する問題