Jsf 删除行数据表?

Jsf 删除行数据表?,jsf,primefaces,Jsf,Primefaces,我有一个包含带有@ElementCollection注释的属性的实体。此属性是我添加telphonestelefones的字符串列表。我在primefaces的数据表中显示此telphones 如何在选定行的情况下删除此电话 我正在试这个 实体 豆角 xhtml 如何删除在dataTable中选择的电话?我使用 我是怎么做到的 <p:tab title="Contato"> <p:fieldset legend="Telefone

我有一个包含带有@ElementCollection注释的属性的实体。此属性是我添加telphonestelefones的字符串列表。我在primefaces的数据表中显示此telphones

如何在选定行的情况下删除此电话

我正在试这个

实体

豆角

xhtml


如何删除在dataTable中选择的电话?

我使用

我是怎么做到的

<p:tab title="Contato">        
                <p:fieldset legend="Telefones">
                    <p:dataTable id="tabelaTelefones" widgetVar="datalistTelefones"
                                 value="#{unidadeEscolarMB.bean.telefones}" var="fone"
                                 emptyMessage="Nenhum registro encontrado"                                                                                                                                                                                                                                                          
                            >
                            <p:column headerText="Telefone">
                                <h:outputText value="#{fone}"/>                            
                            </p:column>            

                            <p:column headerText="">
                                <p:commandLink action="#{unidadeEscolarMB.removeTelefone()}" value="Excluir" update="tabelaTelefones">
                                    <f:setPropertyActionListener target="#{unidadeEscolarMB.telefone}" value="#{fone}"/>
                                </p:commandLink>
                            </p:column>                    

                    </p:dataTable>

                    <p:inputMask id="telefone" widgetVar="telefoneMask" value="#{unidadeEscolarMB.telefone}" mask="(99)9-9999-9999" />
                    <p:commandButton actionListener="#{unidadeEscolarMB.addTelefones()}" value="+" update="telefone, tabelaTelefones"/>                

                    <p:selectBooleanCheckbox itemLabel="Adiciona9" onchange="setMaskTelefone()" id="checkBox" widgetVar="ckbox9" value="true" immediate="true"/>
                </p:fieldset>       
        </p:tab>



@ManagedBean
@ViewScoped
public class UnidadeEscolarMB implements Serializable{    
    private static final long serialVersionUID = 1L;

    private UnidadeEscolar bean;
    private GenericDAO<UnidadeEscolar> dao;
    private List<UnidadeEscolar> unidades = null;
    private String telefone = "";


    /** adiciona telefone ao bean */
    public void addTelefones(){
        //System.out.println(telefone);
        bean.addTelefone(telefone);
        telefone = "";
    }

    /** remove telefone do bean */
    public void removeTelefone(){        
        bean.getTelefones().remove(telefone);    
        telefone = "";
    }


    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;        
    }
@ManagedBean
@ViewScoped
public class UnidadeEscolarMB implements Serializable{  
    private static final long serialVersionUID = 1L;

    private UnidadeEscolar bean;
    private GenericDAO<UnidadeEscolar> dao;
    private List<UnidadeEscolar> unidades = null;   
    private String telefone = "";


    /** add telphone to entity */
    public void addTelefones(){
        //System.out.println(telefone);
        bean.addTelefone(telefone);
        telefone = "";
    }

    /** remove telphone of entity */
    public void removeTelefone(){
        bean.getTelefones().remove(telefone);
    }


    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }
<p:tab title="Contato">        
                <p:fieldset legend="Telefones">
                    <p:dataTable id="tabelaTelefones" widgetVar="datalistTelefones"
                                 value="#{unidadeEscolarMB.bean.telefones}" var="fone"
                                 emptyMessage="Nenhum registro encontrado"
                                 selectionMode="single"
                                 selection="#{unidadeEscolarMB.telefone}"
                                 rowKey="#{unidadeEscolarMB.bean.id}"                                                                                                                                                                                                
                            >
                            <p:column headerText="Telefone">
                                <h:outputText value="#{fone}"/>                         
                            </p:column>                 
                    </p:dataTable>


                    <p:commandButton actionListener="#{unidadeEscolarMB.removeTelefone()}" value="-" update="tabelaTelefones"/>

        </p:tab>
<p:tab title="Contato">        
                <p:fieldset legend="Telefones">
                    <p:dataTable id="tabelaTelefones" widgetVar="datalistTelefones"
                                 value="#{unidadeEscolarMB.bean.telefones}" var="fone"
                                 emptyMessage="Nenhum registro encontrado"                                                                                                                                                                                                                                                          
                            >
                            <p:column headerText="Telefone">
                                <h:outputText value="#{fone}"/>                            
                            </p:column>            

                            <p:column headerText="">
                                <p:commandLink action="#{unidadeEscolarMB.removeTelefone()}" value="Excluir" update="tabelaTelefones">
                                    <f:setPropertyActionListener target="#{unidadeEscolarMB.telefone}" value="#{fone}"/>
                                </p:commandLink>
                            </p:column>                    

                    </p:dataTable>

                    <p:inputMask id="telefone" widgetVar="telefoneMask" value="#{unidadeEscolarMB.telefone}" mask="(99)9-9999-9999" />
                    <p:commandButton actionListener="#{unidadeEscolarMB.addTelefones()}" value="+" update="telefone, tabelaTelefones"/>                

                    <p:selectBooleanCheckbox itemLabel="Adiciona9" onchange="setMaskTelefone()" id="checkBox" widgetVar="ckbox9" value="true" immediate="true"/>
                </p:fieldset>       
        </p:tab>



@ManagedBean
@ViewScoped
public class UnidadeEscolarMB implements Serializable{    
    private static final long serialVersionUID = 1L;

    private UnidadeEscolar bean;
    private GenericDAO<UnidadeEscolar> dao;
    private List<UnidadeEscolar> unidades = null;
    private String telefone = "";


    /** adiciona telefone ao bean */
    public void addTelefones(){
        //System.out.println(telefone);
        bean.addTelefone(telefone);
        telefone = "";
    }

    /** remove telefone do bean */
    public void removeTelefone(){        
        bean.getTelefones().remove(telefone);    
        telefone = "";
    }


    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;        
    }