我正在使用richFaces - rich:dataTable。 我需要删除一些行,然后显示几秒钟的通知作为新行(在thead之后)然后它(带有通知的行)将消失。
在JSF中我无法为我的表提供唯一的ID或名称,因此我不知道如何在DOM中找到它。也许那时我可以添加一些jQuery行代码。
答案 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>