PrimeFaces incell编辑不更新

时间:2012-07-29 23:21:27

标签: ajax events jsf datatable primefaces

我用incell编辑数据表已经困难了好几天了,我看不出为什么它没有更新数据。

这是我的数据表:

<h:form id="form">

                <p:growl id="messages" showDetail="true" />
                <p:dataTable var="car" value="#{QuestionBean.listQuestion}"
                    id="carList" editable="true">
                    <p:ajax event="rowEdit" update="@this" listener="#{QuestionBean.rowEditListener}" />
                    <f:facet name="header">  
           Liste des questions  
       </f:facet>

                <p:column headerText="Text de la question">
                    <p:cellEditor>
                        <f:facet name="output">
                            <h:outputText value="#{car.text}" />
                        </f:facet>
                        <f:facet name="input">
                            <p:inputText value="#{car.text}" />
                        </f:facet>

                    </p:cellEditor>
                </p:column>

                <p:column headerText="Modifier">
                <p:rowEditor/>
                </p:column>

                <p:column id="Sup">
                    <f:facet name="header">
                        <h:outputText value=" " />
                    </f:facet>
                    <p:commandButton action="#{QuestionBean.delete}" update=":form"
                        id="iconOnly" icon="ui-icon-closethick" title="Icon Only">
                        <f:setPropertyActionListener value="#{car.id}"
                            target="#{QuestionBean.id}" />
                    </p:commandButton>
                </p:column>

                </p:dataTable>
            </h:form>

并在bean中:

public void rowEditListener(RowEditEvent ev) {

    try {

        Question q = (Question) ev.getObject();
        System.out.println("text equals "+q.getText());
        resp.update(q);
        init();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

ev.getObject()检索初始值,而不是文本框中插入的值。

0 个答案:

没有答案