Задать вопрос
SAlenaA
@SAlenaA

Почему обнуляются переменные?

Здравствуйте, возникла проблема:
<p:tab title="Настройка отчетов">
                            <h:form id="addCheckOk">

                                <p:outputLabel value="Наименование отчета" for="nameR" style="width: 100px"/><br/>
                                    <p:inputText id="nameR" value="#{reportDesigner.nameReport}" /><br/>

                                    <p:outputLabel for="paramTab" value="Выберите таблицу" style="font-weight: bold"/> <br/>
                                    <p:selectOneMenu id="paramTab"  value="#{reportDesigner.selectparamTable}" style="width:125px">

                                            <p:ajax listener="#{reportDesigner.searchColumnParam()}" update="columnReport1 columnReportFK1 qwe"/>
                                        <f:selectItem itemLabel="Выберите параметр" itemValue="" noSelectionOption="true" />
                                        <f:selectItems value="#{reportDesigner.paramTable}" />
                                    </p:selectOneMenu><br/>


                                    <p:outputLabel id="qwe" value="#{reportDesigner.selectColumn}" style="font-weight: bold"/><br/>

                                    <p:selectManyCheckbox id="columnReport1"  value="#{reportDesigner.selectColumn}"  layout="grid" columns="1" style="text-align: left">                                    
                                        <p:ajax update="qwe"/>
                                        <f:selectItems value="#{reportDesigner.columnTableR}"/>
                                    </p:selectManyCheckbox><br/>
                                    

                                    <p:outputLabel for="columnReportFK1" value="Выберите интересуемые столбцы внешних таблиц" style="font-weight: bold"/><br/>

                                    <p:selectManyCheckbox id="columnReportFK1"  value="#{reportDesigner.selectColumnFK}"  layout="grid" columns="1" style="text-align: left">                                    
                                        <f:selectItems value="#{reportDesigner.columnFK}"/>
                                    </p:selectManyCheckbox><br/>

                                    <p:outputLabel for="paramTable1" value="Выберите Функцию" style="font-weight: bold"/><br/>
                                    <p:selectOneMenu id="paramTable1"  value="#{reportDesigner.functionR}" style="width:125px">
                                        <p:ajax listener="#{reportDesigner.visulAddReport()}" update="ccx"/>
                                        <f:selectItem itemLabel="Выберите функцию" itemValue="" noSelectionOption="true" />
                                        <f:selectItem itemLabel="Среднее значение" itemValue="Среднее значение" />
                                        <f:selectItem itemLabel="Сумма" itemValue="Сумма" />
                                        <f:selectItem itemLabel="Количество" itemValue="Количество" />
                                        <f:selectItem itemLabel="Процент" itemValue="Процент" />
                                    </p:selectOneMenu><br/>
                                    
                                    <p:dataTable id="ccx" value="#{dataDB.tableCity}" 
                                         style="margin-bottom:280px; font-size: 12px" 
                                         rows="#{dataDB.tableCity.size()/dataDB.cnt}">
                                .........
                            </p:dataTable>
                            </h:form>
                        </p:tab>


После выполнения первого ajax все переменные обнуляются и OneMenu и SelectCheckbox'ы Пыталась заменить кнопками - тоже самое. В чем проблема как решить, помогите, пожалуйста

P.S. selectColumn и selectColumnFK - объявлены как List
  • Вопрос задан
  • 282 просмотра
Подписаться 1 Оценить 4 комментария
Решения вопроса 1
SAlenaA
@SAlenaA Автор вопроса
Решила так: добавила аннотацию к бину @ViewScoped и в ajax элементах прописала в первом: event="change" process="@this" и во втором: event="change" process="@this columnReport1 columnReportFK1". Если кто нибудь объяснит почему это сработало буду очень благодарна
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы