обновить (выбрать только родительскую панель) несколько входных элементов Компоненты JSF, содержащиеся в диалоге, простые символы - PullRequest
0 голосов
/ 17 октября 2018

У меня в лицевой стороне .xhtml несколько диалогов с формами, каждое диалоговое окно с вводом нескольких типов.

Я хочу обновить все входные данные для определенного диалога при изменении свойства компонента (особеннокогда bean установлен на new ... propertyDTO = new PropertyDTO();)

Тогда все свойство propertyDTO должно быть очищено !!!

Здесь мой вид одного диалога ...

<p:dialog header="Package Services" widgetVar="widgetDialogItems" 
    modal="true" showEffect="fade" hideEffect="fade" resizable="false" width="1060">

    <h:form id="dialogFormArticulosPackage">

        <p:fieldset id="fieldSetPackage" widgetVar="widgetFieldSetPackage" legend="Add Service" toggleable="true" toggleSpeed="500" >

            <p:panelGrid id="panelGridPackageOne" columns="2" >
                <p:outputLabel value="Code:" for="newCode" />
                <p:outputLabel value="Description:" for="newDescription" />
                <h:panelGrid columns="2" >
                    <p:inputText id="newCode" widgetVar="widgetnewCode"
                             disabled="true" 
                             value="#{mainbean.propertyDTO.newCode}" />
                    <p:commandButton icon="fa fa-search" immediate="true" 
                                     oncomplete="AnotherAction..." />
                </h:panelGrid>
                <p:inputText id="newDescription" widgetVar="widgetnewDescription"
                             disabled="true" 
                             value="#{mainbean.propertyDTO.newDescription}" />
            </p:panelGrid>

            <p:panelGrid id="panelGridPackageTwo" columns="3" >
                <p:outputLabel value="Main Service:" for="newMainService"/>
                <p:outputLabel value="Order:" for="newOrder" />
                <p:outputLabel value="New" for="newService" />

                <p:selectOneMenu id="newMainService" value="#{mainbean.propertyDTO.newMainService}" >
                    <f:selectItem itemLabel="No" itemValue="N" />
                    <f:selectItem itemLabel="Yes" itemValue="Y" />
                </p:selectOneMenu>
                <p:spinner id="newOrder" value="#{mainbean.propertyDTO.newOrder}" min="0"/>
                <p:commandButton icon="fa fa-plus"
                                 value="Add"
                                 id="newService" actionListener="#{mainbean.savePackage()}"
                                 title="Add Service To Package"
                                 update="@widgetVar(widgetFieldSetPackage)" >
                </p:commandButton>
            </p:panelGrid>

        </p:fieldset>

    </h:form>
</p:dialog>

Когда нажата кнопка с id=newService, mainbean.savePackage() делает это propertyDTO = new PropertyDTO();

Я хочу изменить все входы внутри моего диалогового окна.

Я пытался с

update="@widgetVar(widgetFieldSetPackage) fieldSetPackage panelGridPackageOne panelGridPackageTwo"

Возможно ли изменить все входы, содержащиеся в конкретном p: panelGrid? Пример: panelGridPackageOne

РЕДАКТИРОВАТЬ , согласно рекомендации:

update=":dialogFormArticulosPackage:fieldSetPackage:panelGridPackageOne :dialogFormArticulosPackage:panelGridPackageOne"

Но у меня не работает.

1 Ответ

0 голосов
/ 17 октября 2018

Я вижу, что все компоненты, которые вы хотите обновить, находятся внутри одной и той же формы h: чем кнопка, которую вы хотите запустить, чтобы обновить.Вы пробовали с update = "@ form"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...