Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 将行添加到rich:datatable几秒钟(通知)_Jsf 2_Richfaces - Fatal编程技术网

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

Jsf 2 将行添加到rich:datatable几秒钟(通知),jsf-2,richfaces,Jsf 2,Richfaces,我正在使用richFaces-rich:dataTable。 我需要删除一些行,然后将通知显示几秒钟,作为新行(在thead之后),然后它(带有通知的行)将消失 在JSF中,我不能给我的表指定唯一的ID或名称,所以我不知道如何在DOM中找到它。也许我可以添加一些jQuery行代码。如我所述,您可以这样做: <h:form id="myForm"> <h:dataTable id="dtMyData" value="#{bean.lstData}" var="data"&

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


在JSF中,我不能给我的表指定唯一的ID或名称,所以我不知道如何在DOM中找到它。也许我可以添加一些jQuery行代码。

如我所述,您可以这样做:

<h:form id="myForm">
    <h:dataTable id="dtMyData" value="#{bean.lstData}" var="data">
        <!-- column definitions -->
    </h:dataTable>
</h:form>
另外,您可以使用
标记组件而不是
,这样就不会有问题了

您可以使用JavaScript/jQuery自己“删除”行,或者只需删除列表中的项目,然后使用
重新为数据表排序(您可以使用
代替commandbutton)

要在触发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>


奇怪的是,您不能向JSF组件添加唯一的ID,基本上您可以通过添加
ID=“dtMyData”
来完成。另外,仅仅为了显示消息而添加一行也不是很好,而是使用
rich:messages
h:messages
作为向应用程序用户显示消息的优雅方式。是否尝试添加id?在源文件中,您将看到类似id=“myform:dtMyData:j_dk0:0”的内容,因为JSF正在更改它。我可以使用H:messages,但我需要它,就像jQuery通知一样,闪烁3秒然后消失。我按照你说的做了,但是我的表没有重新呈现。如果在提交按钮后刷新页面,我会看到行已被删除。但是刚刚刷新之后,我发现了问题!不是,是@udar_molota,我在JSF1.2和RF 3.3中进行了代码思考。我会根据您的需要做笔记并发布代码。最好指定您正在使用的版本:)
document.getElementById('myForm:dtMyData')
<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>