2008-09-19 4 views
0

확인란이있는 JSF woodstock 테이블이 있습니다. 행을 선택하면 해당 항목에 대해 일부 처리를 수행하려고합니다. 내가 RowKey 객체를 선택할 수 있었지만 원래 객체를 가져 오는 방법을 찾을 수 없었습니다. 테이블은 ObjectListDataProvider에 의해 채워집니다.woodstock 테이블의 선택된 행을 검색하는 방법

답변

1

질문에 대한 답변을 항상 제공합니다. 테이블의 데이터 공급자를 ObjectListDataProvider로 캐스팅하고 'getObject'메서드를 사용하여 원본 객체를 다시 가져 와서 문제를 해결할 수있었습니다.

+0

같은 문제가 있습니다. 코드를 게시 할 수 있습니까? –

0

그래서 나는 이것을 가로 질러 실제로 선택을하고 행 정보를 얻는 방법을 찾고 싶었습니다. 나는 결국 그것을 알아 냈고 나는 다른 사람들이 내가 그것을 한 방식으로 도움이 될 것이라고 생각했다.

나는 내가 valueChangeListener 기능을 생성하고 현재 행 정보를 저장 내 자바 코드에서 valueChangeListener에게
<ui:radioButton id="radioButton1" name="radioButton-group1" valueChangeListener="#{MyBeanPage.radioButton1_processValueChange}" /> 

를 JSP에서 테이블 컬럼에의 RadioButton을 추가했다.

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()); 

당신은 valueChangeListener을하는 대신 다른 무언가와 함께 라디오 버튼에 대한 selectedValue 특성 같은 것을 사용하고 valueChange 기능을 수행하는 것을 방지 할 수있을 그러나 이것은 내가 서로를 알아 내기 위해 상관하지 않았다 일 방법.