将行添加到rich:datatable几秒钟(通知)

时间:2012-06-11 10:05:10

标签: jsf-2 richfaces

我正在使用richFaces - rich:dataTable。 我需要删除一些行,然后显示几秒钟的通知作为新行(在thead之后)然后它(带有通知的行)将消失。

在JSF中我无法为我的表提供唯一的ID或名称,因此我不知道如何在DOM中找到它。也许那时我可以添加一些jQuery行代码。

1 个答案:

答案 0 :(得分:0)

正如我所说,你可以这样做:

<h:form id="myForm">
    <h:dataTable id="dtMyData" value="#{bean.lstData}" var="data">
        <!-- column definitions -->
    </h:dataTable>
</h:form>

呈现的HTML就像

<form id="myForm">
    <table id="myForm:dtMyData">
        <!-- rows auto generated -->
    </table>
</form>

您可以使用最简单的JS

在DOM中找到它
document.getElementById('myForm:dtMyData')

此外,您可以使用<rich:dataTable>代码组件而不是<h:dataTable>,并且不会出现任何问题。

您可以使用JavaScript / jQuery自行“删除”行,或者只删除列表中的项目并使用<a4j:commandButton render="dtMyData">重新渲染数据表(而不是使用<a4j:commandLink>命令按钮)

要在触发ajax操作后向用户显示消息,您可以使用此richfaces代码:

<a4j:status onstop="Richfaces.showModalPanel('mdpMessage')" />
<rich:modalPanel id="mdpMessage" resizeable="false" zindex="5000"
        minHeight="30" minWidth="10" height="70" width="150">
        <f:facet name="header">
            <h:outputText value="Operation Results" />
        </f:facet>
        <h:outputText value="Messages" />
        <!-- you can add your h:messages here -->
        <a4j:commandButton value="Close"
            onclick="Richfaces.hideModalPanel('mdpMessage')" />
</rich:modalPanel>