2016-04-14 6 views
0

J'ai la grille de données ci-dessous qui affiche une liste de noms d'étudiants comme lien.trigger blockui du lien dans 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> 

J'ai aussi ci-dessous BlockUI pour figer l'écran jusqu'à ce que le traitement de back-end est fait, actuellement utilisé pour un bouton Enregistrer.

 <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> 

Maintenant, je voudrais également déclencher le blockUI lorsque le lien du nom de l'étudiant est cliqué. Évidemment, puisque le nombre d'étudiants sera dynamique et se situera dans la grille de données, le code généré inclura d'autres aspects à l'id comme id = "gsform: j_idt168: 1: stname", id = "gsform: j_idt168: 2: stname" et bientôt.

Vous n'avez aucune idée de comment déclencher le blockUI sur le clic du lien du nom de l'étudiant dans le DataGrid, s'il vous plaît suggérer.

+0

Regardez l'exemple 'api-côté client': http://www.primefaces.org/showcase/ui/misc/blockUI .xhtml – Kukeltje

+0

Merci. Ça a marché. Je pensais blockUI peut être invoqué seulement en utilisant le déclencheur !! – user5281896

+0

La documentation et la vitrine sont vos amis – Kukeltje

Répondre

1

Déclencher/cacher la BlockUI de l'intérieur DataGrid à l'aide onclick/onComplete

<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>