【问题标题】:How to update a datalist in a form?如何更新表单中的数据列表?
【发布时间】:2011-07-13 13:08:30
【问题描述】:

在用户输入一些信息以弹出后,我正在尝试更新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;
    }
}

基本上我添加了一个要弹出的项目,我也想将此项目添加到我表单中的数据列表中。

有什么建议吗?

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    我删除了 tabView 父表单。它有效。我认为这是一种形式的范围问题。

    【讨论】:

    • 我从您的问题标题中删除了[SOLVED]。请检查此答案旁边的“已回答”图标,以表明它解决了您的问题。谢谢。
    • 我添加了它,因为我有 2 天时间来接受我自己的答案。不过还是谢谢
    • 是的,两天有点长,但是问题标题中的[ALL CAPS]标签让我的眼睛流血了:P
    猜你喜欢
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多