0

我正在尝试使用具有排序能力的 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一起工作?

4

1 回答 1

3

<f:facet>只能生一个孩子。将它们包裹在一个<h:panelGroup>.

<f:facet name="header">
    <h:panelGroup>
        <h:outputText ... />
        <h:inputText ... />
    </h:panelGroup>
</f:facet>
于 2013-02-27T12:32:49.023 回答