2012-01-13 2 views
0

선택 가능한 체크 박스가있는 데이터 테이블이 있습니다. db에서 오는 값은 데이터 테이블에 체크 된 것으로 표시됩니다. 확인란을 클릭하여 새 선택을하면 백엔드의 값을 배열에서 읽을 수 있지만 체크 박스의 선택을 취소하면 (해당 행의 선택을 취소 할 때) 선택된 배열에는 여전히 체크 된 체크 상자 정보가 포함됩니다. 배열에서 제출시 체크 박스 정보 만 확인하도록합니다 (그래서 DB에서 체크되지 않은 것들을 삭제할 수 있습니다). 여기에 코드입니다 -데이터 테이블 프라임 멧의 체크 박스의 선택 해제 값 읽기

<p:dataTable id="stdList" 
          value="#{stdController.students}" 
          selection="#{stdController.selectedStudents}" 
          var="item" 
          rows="10" 
          rowKey="#{item.id}" 
          > 
        <p:column selectionMode="multiple" /> 
        <p:column 
         sortBy="#{item.name}" 
         filterBy="#{item.name}" 
         filterStyle="display: none;" 
         > 
         <f:facet name="header"> 
          <h:outputText value="#{prop.name}"/> 
         </f:facet> 
         <h:outputText value="#{item.name}"/> 
        </p:column> 
       </p:dataTable> 

내 백업 콩입니다 -

public Topics[] getSelectedStudents() { 
    Students[] returnStudents = new Students[getSelectedStudentsAsList().size()]; // //this gets the list from db and creates the array here. 
    getSelectedStudentsAsList().toArray(returnStudents); 
    return returnStudents; 
} 

public void setSelectedStudents(Students[] selectedStudents) { 
    getSelected().setStudents(new HashSet<Topics>(Arrays.asList(selectedStudents))); 
} 

어떤 도움도 정말 감사합니다. TIA.

+0

PFF1을 JSF 2.0과 함께 사용하고 있습니다. – goodprg

답변

관련 문제