如何更新表单中的datalist?

时间:2011-07-13 13:08:31

标签: jsf-2 primefaces

用户输入一些信息后,我正在尝试更新p:datalist。但我不能部分更新我的表格。

这是我的.xhtml

<h:body>
    <center>
    <h:form style="width:500px">
        <p:tabView>
            <p:tab title="Profil">
                <p:panel>
                <h:panelGrid columns="2">   
                    <p:dataList id="ortaklar" value="#{ortakController.ortakList}" var="ortak" type="ordered">  
                        #{ortak.isim}, #{ortak.soyad}  
                    </p:dataList> 
                </h:panelGrid>
                </p:panel>
            </p:tab>
            <p:tab title="Detay"></p:tab>
            <p:tab title="Kayıt"></p:tab>
        </p:tabView>
    </h:form>
    <p:dialog header="Yeni Ortak" widgetVar="ortakDlg">  
        <h:form>
            <h:panelGrid columns="2">
                <h:outputText for="ortakIsim" value="İsim:" />  
                <h:inputText id="ortakIsim" value="#{ortakController.person.isim}" />  

                <h:outputText for="ortakSoyad" value="Soyad:" />  
                <h:inputText id="ortakSoyad" value="#{ortakController.person.soyad}" />  
            </h:panelGrid>
            <p:commandButton value="Ekle" actionListener="#{ortakController.addToList}" update="ortaklar""/>
            <p:commandButton id="sil" value="Sil" type="reset" />
        </h:form>
    </p:dialog>
    </center>
</h:body>

这是我的豆子;

@ManagedBean(name = "ortakController")
public class OrtakController {

    private static List<Person> ortakList = new ArrayList<Person>();
    private Person person = new Person();

    public OrtakController() {
    }

    public void addToList(ActionEvent actionEvent) {
        ortakList.add(person);
    }

    public List<Person> getOrtakList() {
        return ortakList;
    }

    public void setPerson(Person currentKisi) {
        this.person = currentKisi;
    }

    public Person getPerson() {
        return person;
    }
}

基本上我添加了一个要弹出的项目,我也希望将这个项目添加到我的表单中的datalist。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我删除了tabView父窗体。它有效。我认为这是形式的范围问题。