Primefaces 从datagrid内的链接触发blockui

Primefaces 从datagrid内的链接触发blockui,primefaces,datagrid,blockui,Primefaces,Datagrid,Blockui,我有下面的datagrid,它显示一个学生姓名列表作为链接 <h:form id="gsform"> <p:dataGrid var="stuvar" rendered="#{gradeSheetController.listStudent != null}" value="#{gradeSheetController.listStudent}" columns="5" layo

我有下面的datagrid,它显示一个学生姓名列表作为链接

    <h:form id="gsform">

                <p:dataGrid var="stuvar" rendered="#{gradeSheetController.listStudent != null}" 
                            value="#{gradeSheetController.listStudent}" columns="5" layout="grid">
                                <p:commandLink actionListener="#{gradeSheetController.readStudentGradeSheet}" 
                                                        update=":gsform:gscont, :gsform:buttoncont">
                                    <h:outputText id="stname" style="font-size:16px" value="#{stuvar.studentFirstName}" />
                                    <f:param name="selstudent" value="#{stuvar.studentSeq}" />
                                </p:commandLink>
                </p:dataGrid>

我也有下面的blockUI来冻结屏幕,直到后端处理完成,目前用于保存按钮

        <p:blockUI block=":entirePageBody" trigger="savebutton">
            <h:panelGrid id="blockContent" columns="2">
                <h:graphicImage library="images" name="loading.gif" style="margin-right:12px; vertical-align:middle;" />
                <h:outputText value="Please wait, data is being processed..." style="white-space:nowrap;" />
            </h:panelGrid>
        </p:blockUI>

现在,我还想在单击学生姓名链接时触发blockUI。显然,由于学生人数是动态的,并且在数据网格中,因此生成的代码包括id=“gsform:j_idt168:1:stname”、id=“gsform:j_idt168:2:stname”等id的其他方面


不知道如何在单击datagrid内的学生姓名链接时触发blockUI,请建议。

使用onclick/oncomplete从datagrid内触发/隐藏blockUI

    <p:dataGrid var="stuvar" rendered="#{gsExamController.listStudent != null}" 
            value="#{gsExamController.listStudent}" columns="5" layout="grid">
            <p:commandLink actionListener="#{gsExamController.readStudentGradeSheet}" 
                        onclick="PF('bui').show()"
                        oncomplete="PF('bui').hide()"
                        update=":gsform:gscont, :gsform:remarkcont, :gsform:buttoncont">
                    <h:outputText style="font-size:16px" value="#{stuvar.studentFirstName}" />
                    <f:param name="selstudent" value="#{stuvar.studentSeq}" />
                </p:commandLink>
    </p:dataGrid>




<p:blockUI block=":entirePageBody" trigger="savebutton" widgetVar="bui">
    <h:panelGrid id="blockContent" columns="2">
        <h:graphicImage library="images" name="loading.gif" style="margin-right:12px; vertical-align:middle;" />
        <h:outputText value="Please wait, data is being processed..." style="white-space:nowrap;" />
    </h:panelGrid>
</p:blockUI>

解决问题的简单方法是使用

例如:

<p:commandLink value="Click me." styleClass="blockMeWhenClicked" />

<p:blockUI block=":ElementToBeBlocked" trigger="@(.blockMeWhenClicked)" /> 


看看“客户端api”示例:谢谢。成功了。我想blockUI只能用触发器调用!!文档和展示是您的朋友您可以自己创建一个答案,以便其他人可以看到应该如何做吗?