2008-09-19 21 views
0

我有一個帶有複選框的JSF woodstock表。當選擇一行時,我想對這些項目進行一些處理。我設法獲得了RowKey對象的選擇,但無法找到如何獲取我放回的原始對象。該表由ObjectListDataProvider填充。如何檢索woodstock表的選定行

回答

1

總是很高興能夠回答你自己的問題。 我設法通過將表的數據提供程序強制轉換爲ObjectListDataProvider來解決此問題,並使用getObject方法獲取原始對象。

+0

我有同樣的問題,請你可以發表一段代碼? – 2013-05-29 09:50:05

0

所以我偶然發現了這個,並希望找到如何實際做選擇和獲取行信息。我最終發現了它,我認爲其他人可能會從我的做法中受益。

我添加了一個單選按鈕在JSP表列,並增加了valueChangeListener

<ui:radioButton id="radioButton1" name="radioButton-group1" valueChangeListener="#{MyBeanPage.radioButton1_processValueChange}" /> 

在我的Java代碼中,我創建了valueChangeListener和存儲的當前行信息。

public void radioButton1_processValueChange(ValueChangeEvent event) { 
    TableRowDataProvider trdp = (TableRowDataProvider)getValue("#{currentRow}"); 
    setCurrentRowKey(trdp.getTableRow()); //Sets an instance variable for the RowKey 
} 

現在,如果你有一個要處理的選定行,你可以做到這一點,以獲得目標數據在數據的任何按鈕。賈斯珀在上面提到這一點。

/*getObjectListDataProviderImpl() returns the implementation of 
*ObjectListDataProvider for your dynamic data. 
*/ 
getObjectListDataProviderImpl().getObject(getCurrentRowKey()); 

你也許能夠使用的東西像了selectedValue屬性爲單選按鈕連同別的東西,而不是做valueChangeListener,並避免做valueChange功能,但這個工作,所以我也沒在意找出另一辦法。

相關問題