2014-10-02 43 views
1

我是新來的primefaces。我有一個req,我有一個datable,它有x列。一列包含3個單選按鈕。我可以顯示。但我的問題是我想默認選擇一個單選按鈕。Primeface SelectOneRadio(絕對是一箇舊的QS,但沒有得到正確的答案)

我在做什麼:在數據表加載我創建一個變量(我也試過用SlectIte列表),但無法獲得檢查值。

任何人都可以提供一個簡單的工作示例。這將是非常有益的。

回答

0

這是我的演示其中存在怎樣默認DataTable中

XHTML無線電值

<h:form> 
    <p:dataTable var="catalog" value="#{radioView.catalogs}"> 
     <p:column headerText="City"> 
      <p:selectOneRadio id="city" 
           value="#{catalog.city}" 
           columns="3"> 
       <f:selectItems value="#{radioView.cities}" 
           var="c" 
           itemLabel="#{city}" 
           itemValue="#{city}"/> 
      </p:selectOneRadio> 
     </p:column> 
    </p:dataTable> 
    <p:commandButton value="changeSelection" 
        process="@form" 
        update="@form" 
        actionListener="#{radioView.changeSelection}"/> 
    <p:commandButton value="submit" 
        process="@form" 
        update="@form" 
        actionListener="#{radioView.submit}"/> 
</h:form> 

ManagedBean

@ManagedBean 
public class RadioView { 

    private List<Catalog> catalogs; 
    private List<String> cities; 

    @PostConstruct 
    public void init() { 
     cities = new ArrayList<String>(); 
     cities.add("San Francisco"); 
     cities.add("London"); 
     cities.add("Paris"); 

     //default radio value 
     Catalog c1 = new Catalog("San Francisco"); 
     Catalog c2 = new Catalog("London"); 
     Catalog c3 = new Catalog("Paris"); 
     Catalog c4 = new Catalog("London"); 

     catalogs = new ArrayList<Catalog>(); 
     catalogs.add(c1); 
     catalogs.add(c2); 
     catalogs.add(c3); 
     catalogs.add(c4); 
    } 
    public List<Catalog> getCatalogs() { 
     return catalogs; 
    } 
    public void setCatalogs(List<Catalog> catalogs) { 
     this.catalogs = catalogs; 
    } 
    public List<String> getCities() { 
     return cities; 
    } 
    public void changeSelection(ActionEvent event){ 
     for (Catalog catalog : catalogs) { 
      catalog.setCity("San Francisco"); 
     } 
    } 
    public void submit(ActionEvent event) { 
     for (Catalog catalog : catalogs) { 
      System.out.println(catalog.getCity()); 
     } 
    } 
} 

public class Catalog implements Serializable{ 

    private String city; 
    public Catalog(String city){ 
     this.city = city; 
    } 
    public String getCity() { 
     return city; 
    } 
    public void setCity(String city) { 
     this.city = city; 
    } 
} 
+0

@wttakam:嗨,親愛的,我已經測試過你的例如,但我沒有看到預選城市。而且我用SelectItem,仍然沒有得到。 – shubham 2014-10-02 20:16:17

+0

@wittakam:非常乖,親愛的,它的工作,我做了smthng錯你的例子:(Thx很多,這幫了我很多 – shubham 2014-10-02 21:32:04

+0

Your're welcome。 – wittakarn 2014-10-03 01:31:30

相關問題