我在同一个视图页面(overview.xhtml)中有 3 个openFaces 。 <o:datatable />
- 第一个显示所有音乐乐队的列表
- 2d 显示由乐队编写的所有歌曲的列表
- 3d 显示乐队提供的所有节目的列表
我正在使用<o:inputTextFilter />
行 ID 过滤第一个数据表(
<h:form>
<o:datatable value="#{bandBean.items}" var="band" ........<o:inputTextFilter
expression="#{band.id}" .../>
</h:form>
<h:form>
<o:datatable value="#{showBean.items}" var="show" ........<o:inputTextFilter
expression="#{band.id}" .../>
</h:form>
<h:form>
<o:datatable value="#{songBean.items}" var="song" ........<o:inputTextFilter
expression="#{band.id}" .../>
</h:form>
歌曲和节目是乐队的子对象。我真正需要的是能够使用相同的 inputTextFilter 或类似的东西过滤 3 个数据表,因为这 3 个数据表每个都有一个带有波段 ID 的列。
用户将永远不会接受三次键入乐队 ID,第一次是 BAND 表,第二次是节目表,第三次是歌曲表,使用 3 个过滤器。相反,他想输入一次 band ID ,然后立即过滤 3 个表。
一种解决方法是使用三个<o:inputTextFilter />
并使用 javascript 或 ajax 设置它们的值:当用户在过滤器中输入内容时,输入的值会立即附加到其他过滤器。我想不出那个解决方法。然而,显示 3 个过滤器似乎很奇怪,而用户应该只使用一个。任何想法和帮助都是宝贵的!