Применение фильтра к таблице af: на основе пользовательского списка Pojo в ADF - PullRequest
0 голосов
/ 19 марта 2019

Я использую компонент af:table в функции отчета на странице ADF.

Все данные моего отчета поступают из сторонней службы.

Эта служба принимает некоторые критерии поиска, введенные пользователем на странице отчета.

После ввода критериев поиска, когда пользователь нажимает кнопку поиска, вызывается служба и данные отображаются в таблице.

Теперь мне нужно включить фильтрацию в некоторых столбцах моей таблицы. Применение фильтрации очень просто в случае VO based таблицы. Но поскольку данные поступают из сервиса, у меня был собственный список Pojo

        <af:table scrollPolicy="page" autoHeightRows="8" value="#{myBean.pojoList}" var="myreport" id="t1"
               styleClass="AFStretchWidth" filterVisible="true">

                <af:column headerText="Header1" width="10%" filterable="true">
                      <f:facet name="header">
                         <af:inputText simple="true" value="#{myBean.filterInput1}" autoSubmit="true" valueChangeListener="#{mybean.method}"/> 
                      </f:facet>
                      <af:outputText value="#{myreport.data}"/>
                    </af:column>

                <!--other columns -->   
      <af:table>

Несмотря на то, что input box появляется в заголовке столбца, но это происходит в режиме только для чтения. Я ничего не могу ввести. [ valueChangeListener содержит логику фильтрации ]

Я пробовал с <f:facet name="filter">, но он также выдает тот же вывод , т.е. поле ввода только для чтения.

В моем управляемом компоненте есть и геттеры, и сеттеры, но в режиме только для чтения он отображается.

Кто-нибудь может подсказать, почему он выполняет рендеринг в режиме только для чтения? Есть ли другой способ добиться фильтрации без использования таблицы на основе VO?

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Сначала необходимо создать элемент управления данными для компонента, после перетаскивания его в виде таблицы создайте модель фильтра, а затем вы сможете настроить фильтры.

Область поиска будет создана какпоказано ниже

enter image description here

И ваша таблица использует его, как показано ниже

enter image description here

Вы можете скачать образец приложения для справки по ссылке ниже

https://www.dropbox.com/s/1mmengkmx98kmnq/pojo1.zip?dl=0

0 голосов
/ 22 марта 2019

Попробуйте использовать имя фасета в качестве «фильтра» вместо «заголовка».

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