2012-01-13 90 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> 

我支持bean是 -

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

我忘了提及,我使用PF RC1和JSF 2.0 – goodprg 2012-01-13 13:39:53

回答

相關問題