vendredi 18 mars 2016

How to set data in checboxmenu in primefaces

I have a one checkboxmenu which gets list from enum class but After I select data , they cannot be set in model. How to fix the problem ?

xhtml :

                    <h:outputText value="Birimler:" styleClass="label"/>
                         <y:yteCheckBoxMenu id="birim" style="width:100%;"
                                               value="#{controller.model.secilenBirimler}"  onHide="birimBelirlendi()" label="#{controller.model.duyuruBirimleriToString}">
                                <f:selectItems value="#{controller.model.ajansTumBirimler}"
                                               var="birim" itemLabel="#{birim.toString()}"
                                               itemValue="#{birim}">
                                </f:selectItems>


                         </y:yteCheckBoxMenu>
                         <y:yteMessage for="birim"/>

Model:

@Override public List getSecilenBirimler() { return secilenBirimler; }

@Override
public void setSecilenBirimler(List<AjansBirimi> secilenBirimler) {

    //this.islemYapilanDuyuru.getDuyuruAjanslariToString();
    this.secilenBirimler = secilenBirimler;
}

@Override
public List<Ajans> getSecilebilecekAjanslar() {
    return secilebilecekAjanslar;
}

@Override
public void setSecilebilecekAjanslar(List<Ajans> secilebilecekAjanslar) {
    this.secilebilecekAjanslar = secilebilecekAjanslar;
}

Enum class:

public enum AjansBirimi {
    PYB("Program Yönetim Birimi"),
    PPB("Planlama ve Programlama Birimi"),
    IDB("İzleme ve Değerlendirme Birimi"),
    IKB("İnsan Kaynakları Birimi"),
    DHB("Destek Hizmetleri Birimi"),
    YDO("Yatırım Destek Ofisi"),
    MOB("Muhasebe Ödeme Birimi"),
    IMB("İdari ve Mali İşler Birimi"),
    PBKB("Planlama ve Bölgesel Koordinasyon Birimi"),
    PGUB("Proje Geliştirme ve Uygulama Birimi"),
    HM("Hukuk Müşavirliği"),
    GSB("Genel Sekreterlik"),
    DB("Diğer Birimler");

    private final String gosterimMetni;

    private AjansBirimi(final String pGosterimMetni) {
        this.gosterimMetni = pGosterimMetni;
    }

    public String toString(final boolean original) {
        return super.toString();
    }

    public String gosterimMetniniGetir() {
        return this.gosterimMetni;
    }

    @Override
    public String toString() {
        return this.gosterimMetniniGetir();
    }


}

DuyuruBirimleriToString function:

    @Override
    public String getDuyuruBirimleriToString() {
    if((this.secilenBirimler == null) || this.secilenBirimler.isEmpty()) {
        return "Seçilmedi";
    }

    StringBuilder duyuruBirimleriToString = new StringBuilder();

    for(AjansBirimi a : this.secilenBirimler) {
        duyuruBirimleriToString.append(a);
        duyuruBirimleriToString.append(", ");
    }

    return duyuruBirimleriToString.substring(0, duyuruBirimleriToString.length() - 2);
}

Briefly, secilenBirimler is null although I select data from checkboxmenu. How to set data it.




Aucun commentaire:

Enregistrer un commentaire