我正在尝试使用rich:dataTable实现外部过滤,它具有排序功能。
以下是我的尝试:
<rich:column sortBy="#{data.name}" id="name" filterMethod="#myBean.filter}">
<f:facet name="header">
<h:outputText value="Name" />
<h:inputText value="#{myBean.currentName}"
id="nameFilterInput" onclick="Event.stop(event)" onkeypress="searchNameOnEnter(event, this);">
<a4j:support event="onkeyup" reRender="dataTable , ds"
ignoreDupResponses="true" requestDelay="700" />
</h:inputText>
</f:facet>
<h:outputText value="#{data.name}" />
</rich:column>
问题:输入文本字段正在覆盖输出文本(标题名称)
我尝试在f:facet中使用h:panelGroup,但问题是排序图标是在第三行单独渲染的。
我在这里缺少什么? 任何帮助都会很棒。
更新了:@Christophe Roussy,这是截图
如上所示,inputText正在覆盖outputText。
更新2 :我在此处看到了一条帖子:https://community.jboss.org/thread/13046,其中解释了将<f:facet name="filter">
用于inputText,但这似乎仅适用于rich:extendedDataTable。
有什么方法可以使它与rich:dataTable一起使用?
答案 0 :(得分:3)
<f:facet>
只能有一个孩子。将它们包裹在<h:panelGroup>
。
<f:facet name="header">
<h:panelGroup>
<h:outputText ... />
<h:inputText ... />
</h:panelGroup>
</f:facet>