Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSF2,Primesfaces:在Incell编辑中的SelectOne菜单选择上更新单元格_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 JSF2,Primesfaces:在Incell编辑中的SelectOne菜单选择上更新单元格

Jsf 2 JSF2,Primesfaces:在Incell编辑中的SelectOne菜单选择上更新单元格,jsf-2,primefaces,Jsf 2,Primefaces,我在p:dataTable中使用Primesfaces的Incell编辑 在selectOneMenu中选择新id时,我希望更新同一行中的“name”字段,而不必等到用户按下要更新的name字段的ok复选标记。对象的名称属性在bean.idEdited(对象)中更新 我希望我可以使用f:ajax render=“name”来更新另一个字段,如下所示: <h:form> <p:dataTable var="object" value="#{bean.objects}"

我在p:dataTable中使用Primesfaces的Incell编辑

在selectOneMenu中选择新id时,我希望更新同一行中的“name”字段,而不必等到用户按下要更新的name字段的ok复选标记。对象的名称属性在bean.idEdited(对象)中更新

我希望我可以使用f:ajax render=“name”来更新另一个字段,如下所示:

<h:form>
    <p:dataTable var="object" value="#{bean.objects}"
        <p:column>
            <p:cellEditor>
                <f:facet name="output">
                    <h:outputText value="#{bean.objectId}" />
                </f:facet>
                <f:facet name="input">
                    <h:selectOneMenu value="#{bean.objectId}">
                        <f:selectItems value="#{bean.objectIds}" />
                        <f:ajax listener="#{bean.idEdited(object)}"
                                render="name" />
                    </h:selectOneMenu>
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>  
            <h:outputText id="name" value="#{object.name}" /> 
        </p:column>
    </p:dataTable>    
</h:form>
使用 Primesfaces 2.2.1 Netbeans 7.0.1 JSF与Netbeans捆绑

想法、其他方式还是拯救


编辑:p:ajax呈现相同的结果。

这是因为当您调用ajax呈现页面时,该页面已经呈现


提示:如果使用primefaces,也可以在可能的情况下使用primefaces组件。同时升级到
Primefaces 3.0.M4
,以获得更好的实现。您还有一个
primefaces selectOneMenu组件
,您可以使用
primefaces ajax(p:ajax event=“onchange”)
update
属性(更新整个表单)

用p:ajax更新整个表单肯定会更新name字段,但此后该行将不再处于编辑模式。如果用户想要编辑同一行中的其他单元格,他必须明确进入编辑模式,谢谢!我使用了p:ajax更新而不是render,它按照我的要求工作。
SEVERE: Error Rendering View[/logicalAddress.xhtml]
java.lang.IllegalStateException: PWC3999: Cannot create a session after the response has been committed
at org.apache.catalina.connector.Request.doGetSession(Request.java:2867)
...