首页 > 解决方案 > 根据 ADF 中的自定义 Pojo 列表在 af:table 上应用过滤器

问题描述

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">但它也产生相同的输出,即只读输入框。

我的托管 bean 中都有 getter 和 setter,但它仍然以只读模式出现。

谁能建议为什么它以只读模式呈现?有没有其他方法可以在不使用 VO Based Table 的情况下实现过滤?

标签: javaoracle-adf

解决方案


尝试使用构面名称作为“过滤器”而不是“标题”。


推荐阅读