Можно ли определить форму для отдельной строки в сетке?
Возможно ли как-то иметь форму для отдельной строки в PanelGrid? Если я просто помещу определенные столбцы в тег формы, они (конечно) отображаются в одном столбце моей родительской панели Grid.
Есть ли возможность решить эту проблему? Неважно, использует ли решение тег jsf или тег primefaces
Я использую Mojarra 2.1.26 и Primefaces 4.0
1 ответ
Использовать частичный процесс / обновление.
если ваше требование состоит в том, чтобы отправлять только данные в определенной строке (и не отправлять другие параметры http, даже если они не обработаны), добавьте частичное использование:
<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.
обратите внимание, что вы должны обновить grid, потому что p:panelgrid визуализирует свои дочерние компоненты самостоятельно.
однако ваше желаемое поведение (точно) также невозможно при использовании простого HTML.