2011-11-09 48 views
1

我有一個使用RichFaces 4.0.0.Final和JSF 2.0的應用程序。當我嘗試在extendedDataTable中使用選擇時,它不起作用。選擇無法在extendedDataTable中運行,RichFaces 4 + JSF 2.0

<rich:extendedDataTable 
        id="shipmentList" value="#{shipmentListBean.shipmentList}" var="shipment" 
        rowClasses="#{shipment.paymentDate == null ? 'unpaidShipment' : null}" 
        selectionMode="single" noDataLabel="#{msgs.emptyList}"       
        selection="#{shipmentListBean.selection}" 
        style="width: 1200px; font-size: 10px; "> 

ShipmentListBean:

@ManagedBean 
@ApplicationScoped 
public class ShipmentListBean implements Serializable { 

    private Collection<Object> selection = null; 

    public ShipmentListBean() { 
    } 

    public List<ShipmentValueObject> getShipmentList() { 
     .... 
    } 


    public Collection<Object> getSelection() { 
     return selection; 
    } 

    public void setSelection(Collection<Object> selection) { 
     this.selection = selection; 
    } 
} 

爲什麼在方法selSelection(集合選擇)空收集來時,我在表中選擇行?

回答

1

可以使用選擇這樣

in ShipmentListBean 



    private SimpleSelection selection = new SimpleSelection(); 

    // now time to get a selected Row id from the extendedDataTable. 
    // this method you can call on any button after selecting the row from the extendedDataTable 
    public void selectedRecord(){ 
      try{ 
       Iterator<Object> iterator = getSelection().getKeys(); 

       while(iterator.hasNext()){ 
        // Here you will get all the selected roes id from the Data table 
        Object obj = iterator.next(); 

        info("GET SELECTED ROWS ID ::::: " + obj.toString()); 

       } 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 
     }