Как свернуть данные с помощью простого или командного кнопки? - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу показать или скрыть таблицы данных простых лиц, нажав на их командную кнопку, у меня есть Java-бин, и я могу вызвать функцию Java dashboardView.displayOrHide ().Я не знаю, как это сделать.

Я хочу показать или скрыть объект данных, возможно, свернуть его или нет, нажав кнопку, и сохранить состояние объекта данных в компоненте Java

Моя версия Primefaces - 6.0.15.

Мой код JSF / xhtml:

<p:commandButton value="Show Or Hide" id="ajax" action="#{dashboardView.displayOrHide}" style="margin-right:20px;" styleClass="ui-priority-primary" />

<p:dataTable id="item_#{synopticLocationBean.id}" var="synopticIdBean" value="#{synopticLocationBean.synopticIdBeans}">
   <p:column headerText="Famille">
       <h:outputText value="#{synopticIdBean.family}" />
   </p:column>

   <p:column headerText="BT">
      <h:outputText value="#{synopticIdBean.brNumber}"/>
   </p:column>
</p:dataTable>

Мой код Java, но я не знаю, что здесь делать:

public void buttonAction() {
   System.out.println("test ash retor ana");
}

На данный момент я используюфункция javascript с кнопкой

И скрыть или показать мои данные с помощью функции displayTabInformation js:

function displayTabInformation(id,dataTableId){

    var divDisplay = dataTableId.style.display;

    if(divDisplay === ''){
        dataTableId.style.setProperty('display', 'none');
    }else if(divDisplay === 'none'){
        dataTableId.style.setProperty('display', 'block');
    }else{
        if(divDisplay === 'visible'){
            dataTableId.style.setProperty('display', 'none');
        }else{
            if(divDisplay === 'block'){
                dataTableId.style.setProperty('display', 'none');
            }
        }
    }
}

Я хотел бы сделать ту же функцию с Javabean-компонент для сохранения, какая база данных отображена или скрыта.

1 Ответ

0 голосов
/ 01 февраля 2019

Я добавил командную кнопку, которая вызывает функцию из управляемого Java-бина.У меня есть логический флаг, который используется в «представлении» таблицы данных, которая установлена ​​в true или false в функции showOrHideLocation.

Я не знаю, как обновить страницу JSF из моего управляемого Java-бина

<p:commandButton value="#{synopticLocationBean.name}" update="item_#{synopticLocationBean.id}" action="#{dashboardView.dashboardService.showOrHideLocation(synopticLocationBean.id)}" styleClass="ui-priority-primary" ajax="true" />

<p:dataTable id="item_#{synopticLocationBean.id}" var="synopticIdBean" value="#{synopticLocationBean.synopticIdBeans}"
    sortBy="#{synopticIdBean.longEnteredTime}" sortOrder="ascending"
    rowStyleClass="#{synopticIdBean.alarm eq true ? 'old' : null}"
    rendered="#{synopticLocationBean.collapseDataTable eq true}">

    <p:column headerText="Famille">
        <h:outputText value="#{synopticIdBean.family}" />
    </p:column>

    <p:column headerText="BT">
        <h:outputText value="#{synopticIdBean.brNumber}"/>
    </p:column>

Моя функция Java showOrHideLocation:

public void showOrHideLocation(String id) {

    SynopticLocationBean synopticLocationBean = getLocation(id);
    boolean isCollapsed = synopticLocationBean .getCollapseDataTable();
    location.setCollapseDataTable(!isCollapsed);

//TODO How can i refresh my JSF page with my java bean ?
}
...