以某种方式在panelGrid中为单行创建表单是否可行?如果我只是将特定列放在一个表单-Tag中,它们(当然)会在我的父panelGrid的一个列中呈现。
有可能解决这个问题吗?如果解决方案使用jsf-tag或primefaces-tag
并不重要我正在使用Mojarra 2.1.26和Primefaces 4.0
答案 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也无法实现所需的行为(确切)。