首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeFaces SelectOneRadio

PrimeFaces SelectOneRadio
EN

Stack Overflow用户
提问于 2014-10-02 12:08:58
回答 1查看 128关注 0票数 1

我有一个req,其中我有一个可数据的,它有x列。一列包含3个单选按钮,.Which我可以显示。但我的问题是,默认情况下,我希望选择一个单选按钮。

我正在做的事情:在datatable的加载中,我创建了一个变量(我也尝试过使用SlectIte列表),但是无法获得选中的值。

有人能提供一个简单的工作例子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-02 15:45:06

这是我的演示,展示了如何在datatable中设置默认值。

XHTML

代码语言:javascript
复制
<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

代码语言:javascript
复制
@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());
        }
    }
}

域名

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26160460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档