2009-07-17 6 views
3

Kann mir jemand ein Beispiel dafür geben, wie man th Rich: orderingList control verwendet? Ich bin zu dem Punkt gekommen, wo ich die Daten anzeigen kann, wie ich wollte, aber jetzt möchte ich eigentlich die modifizierte Reihenfolge an den Server weitergegeben haben. Ich kann nichts zu diesem Thema finden.reich: orderingList Anwendungsbeispiel

<rich:orderingList value="#{countryHandler.data}" var="country"> 
    <rich:column> 
     <f:facet name="header"> 
      <h:outputText value="id"/> 
     </f:facet> 
     <h:outputText value="#{country.id}"/> 
    </rich:column> 
    <rich:column> 
     <f:facet name="header"> 
      <h:outputText value="code"/> 
     </f:facet> 
     <h:outputText value="#{country.code}"/> 
</rich:column> 

und meine Backing Bean hat eine Eigenschaft Daten definiert, die > nur eine Liste < Land zurückgibt.

Also noch einmal: Wie bevölkere ich die geänderte Reihenfolge der Objekte zurück zum Server?

Antwort

2

Wenn Sie das Formular absenden, wird Seam die Liste (# {countryHandler.data}) für Sie neu ordnen, damit Sie an dieser Stelle zugreifen können. Ich habe ein schnelles Beispiel ausgetüftelt, um das zu testen. Alle Dateien sind wie folgt:

CountryHandler.java

@Name("countryHandler") 
@Scope(ScopeType.CONVERSATION) 
public class CountryHandler { 

    @In(create=true) 
    private CountryService countryService; 

    private List<Country> data; 

    public void loadCountries() { 
     this.data = this.countryService.getCountryList(); 
    } 

    public List<Country> getData() { 
     return data; 
    } 

    public void setData(List<String> data) { 
     this.data = data; 
    } 

    public void submit() { 
     //check the list order here. You should find it's ordered... 
    } 
} 

Countries.xhtml

...snip... 

<rich:orderingList value="#{countryHandler.data}" var="country"> 
    <rich:column> 
     <f:facet name="header"> 
      <h:outputText value="id"/> 
     </f:facet> 
     <h:outputText value="#{country.id}"/> 
    </rich:column> 
    <rich:column> 
     <f:facet name="header"> 
      <h:outputText value="code"/> 
     </f:facet> 
     <h:outputText value="#{country.code}"/> 
</rich:column> 
</rich:orderingList> 

<h:commandButton action="#{countryHandler.submit()}" value="Submit" /> 

...snip... 

Countries.page.xml

<page> 
    ...snip... 

    <begin-conversation join="true"/> 

    <action execute="#{countryHandler.loadCountries()}"/> 

    ...snip... 
</page> 

Siehe auch:

0

Ich brauche eine Bestellliste zu verwenden. Wie Sie gesagt haben, kann ich die Liste der Elemente in eine Bestellliste laden, aber ich kann nicht verwalten, ein Element aus der Liste zu löschen. Ich habe versucht, die activeItem Eigenschaft zu verwenden, aber es kooperiert nicht mit meinem Objekt beim Sichern der Bean.

+0

Ehrlich gesagt habe ich diese Komponente in diesem Umfang nicht verwendet. Ich werde versuchen, mein Beispiel für die Löschung zu erweitern, aber ich kann zu diesem Zeitpunkt nichts versprechen. –