2012-04-08 66 views
0

我想在我的JSF數據表的行中做一些操作,併爲此我需要和id的行。但是當我看到通過螢火蟲生成的HTML。我注意到id只是爲不是tr和td的JSF組件生成的。有什麼方法的,我可以定義行(TR)的ID 這裏是我的代碼jsf datatable的行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> 

下面有我的DataTable中的一個按鈕,說:「只顯示體育運動的學生」和我的列表應該只顯示運動學生標題將變爲「顯示所有學生」。現在所有的學生都應該展示。所以我在想如果我有tr的id。我可以使用jquery隱藏/顯示該行。我能這樣做嗎?

在此先感謝。

Tarun Madaan

+0

在一些博客中,我讀到了有關uidata和某處閱讀有關selectabledatamodel的信息。但我是JSF的新手。我可以繼續使用一些更簡單的方法嗎? – 2012-04-08 15:01:25

回答

4

您有幾個選擇。我可以建議其中的2個:

  1. 您可以將具有描述的類添加到數據表中的某個列。例如。對於其他體育類學生,則爲sportordinary。然後你可以隱藏/顯示所有行,其中包含ordinary類的元素。
  2. 在服務器上過濾學生。發送一個阿賈克斯請求,將重新放置你的表格,只留下體育學生。如果您使用一些帶有Ajax支持的JSF庫,例如primefaces。
+0

感謝您的回覆。但是我可以改變學生的運動場,並且當我點擊按鈕時需要重新渲染桌面,並且我還需要看看按鈕上的標題是「顯示體育學生」還是「全部顯示」。那麼我將如何按照您的拳頭解決方案來做到這一點?你能否提供更多的信息.​​.....至於第二種解決方案,我不應該使用這樣的庫。只需要通過JSF來做到這一點。 – 2012-04-09 04:21:16

+0

你可以像普通學生一樣隱藏所有行:'$('。ordinary')。each(function(ind,el){$(el).parent('tr')。hide();})); '你可以使用jQuery來改變按鈕的文本。 – 2012-04-09 07:07:59

+0

嗨。你能指定什麼是功能中的ind和el? – 2012-04-09 08:22:47