f:face:rich:列中的outputText和inputText不起作用 - JSF

时间:2013-02-27 11:03:22

标签: jsf richfaces

我正在尝试使用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,这是截图 Screenshot

如上所示,inputText正在覆盖outputText。

更新2 :我在此处看到了一条帖子:https://community.jboss.org/thread/13046,其中解释了将<f:facet name="filter">用于inputText,但这似乎仅适用于rich:extendedDataTable。 有什么方法可以使它与rich:dataTable一起使用?

1 个答案:

答案 0 :(得分:3)

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

<f:facet name="header">
    <h:panelGroup>
        <h:outputText ... />
        <h:inputText ... />
    </h:panelGroup>
</f:facet>