0

是否有可能在 panelGrid 中为单行创建一个表单?如果我只是将特定列放在表单标签中,它们(当然)会呈现在我的父 panelGrid 的一个列中。

有没有可能解决这个问题?解决方案是否使用 jsf-tag 或 primefaces-tag 无关紧要

我正在使用 Mojarra 2.1.26 和 Primefaces 4.0

4

1 回答 1

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 也无法实现您想要的行为(确切地说)。

于 2014-03-25T23:22:55.517 回答