Как включить кнопку, если в jsf установлены какие-либо флажки? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть дататы данных с числом строк, известных во время выполнения.Каждая строка имеет флажок в первом столбце.Нижний колонтитул таблицы содержит commandButton, которую я хочу отключить, если ни один из флажков не установлен.В противном случае это должно быть включено.Таблица выглядит примерно так:

<p:dataTable id="table"
             value="#{allgSucheController.pstListe}"
             selection="#{allgSucheController.selectedPruefstelle}"
             var="pst"
             lazy="true">
    <p:column id="checkboxes_header">
        <f:facet id="container1">
            <h:selectBooleanCheckbox id="chk_all">
        </f:facet>
        <h:selectBooleanCheckbox id="checkbox"
                                 value="pst.selected">
        </h:selectBooleanCheckbox>
    </p:column>
    <!-- snip -->
    <f:facet name="footer">
        <span id="c_dwl">
            <h:commandButton id="btnDownload"
                             value="Download"
                             ajax="true"
                             disabled="???">
            </h:commandButton>
        </span>
    </f:facet>
</p:dataTable>

Я попытался установить значение отключенного атрибута командной кнопки на pst.selected, но это не сработало.Командная кнопка была отключена, но не была включена, если я установил какие-либо флажки.

Она пыталась вызвать метод в контроллере, который перебирает данные строки таблицы, возвращая значение true, если хотя бы один из них выбран,но это тоже не сработало, потому что я не могу вызывать методы из xhtml.
Я новичок в jsf и не смог найти решения своей проблемы в интернете.
Как я могу отключить мою кнопку, если ни одна изфлажки отмечены и включают его, если хотя бы один флажок установлен?

...