是否可以在panelgrid中为单行定义表单?

时间:2014-03-25 12:54:55

标签: forms jsf-2 primefaces panelgrid

以某种方式在panelGrid中为单行创建表单是否可行?如果我只是将特定列放在一个表单-Tag中,它们(当然)会在我的父panelGrid的一个列中呈现。

有可能解决这个问题吗?如果解决方案使用jsf-tag或primefaces-tag

并不重要

我正在使用Mojarra 2.1.26和Primefaces 4.0

1 个答案:

答案 0 :(得分:2)

使用部分流程/更新。

如果您的要求是仅发送特定行中的数据(并且不发送其他http参数,即使它们未被处理),请添加partialSubmit功能:

<h:form>
    <p:panelGrid id="grid">
        <p:row id="row1">
            <p:column>
                <p:inputText value="#{someBean.someProperty}"/>
            </p:column>
            <p:column>
                <p:inputText value="#{someBean.anotherProperty}"/>
            </p:column>
        </p:row>
        <!-- other rows -->
    </p:panelGrid>

    <p:commandButton action="#{someBean.someAction}" process="@this row1" 
        update="grid" partialSubmit="true" value="submit"/>
</h:form>

这与(仅几乎)有一个只用于row1的表单相同。

请注意,您必须更新网格,因为p:panelgrid会自行呈现其子组件。

然而,使用普通的html也无法实现所需的行为(确切)。