0

JSFデータテーブルの行でいくつかの操作を実行したいので、そのために行のIDが必要です。しかし、firebugによって生成されたhtmlを見ると。idがtrとtdではなくJSFコンポーネントに対してのみ生成されていることに気付きました。row(tr)のIDを定義できる方法はありますか?これが私のコードです

<h:datatable value = "#{bean.list}" var = "row">
   <h:column> 
       #{row.name}
   </h:column>
   <h:column> 
       #{row.address}
   </h:column>
   <h:column> 
       #{row.phone no}
   </h:column>
   <h:column> 
       <h:selectBooleanCheckbox id="checkbox" value="#{row.sportsStudent}" />
   </h:column>
</h:datatable>

データテーブルの下に「スポーツの学生のみを表示」というボタンがあり、リストにはスポーツの学生のみが表示され、キャプションが「すべての学生を表示」に変わります。これで、すべての生徒が表示されます。だから私はtrのIDを持っているかどうかを考えていました。jqueryを使用してその行を非表示/表示できます。だから私はそれをすることができますか?

前もって感謝します。

タルン・マダーン

4

1 に答える 1

4

いくつかのオプションがあります。私はそれらのうちの2つを提案することができます:

  1. データテーブルの一部の列に説明付きのクラスを追加できます。たとえば、スポーツの学生クラスの場合はsportordinaryその他の場合です。ordinary次に、クラスを持つ要素を含むすべての行を非表示/表示できます。
  2. サーバーで生徒をフィルタリングします。スポーツの学生だけを残して、テーブルを再レンダリングするajaxリクエストを送信します。PrimefacesなどのajaxをサポートするJSFライブラリを使用すると、これを非常に簡単に行うことができます。
于 2012-04-08T16:43:47.413 に答える