2016-04-14 5 views
0

У меня есть следующий datagrid, который отображает список имен студентов в качестве ссылки.триггер blockui из ссылки внутри 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 заморозить экран до обработки бэкенд не будет сделано, в настоящее время используется для кнопки Save.

 <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, когда нажата ссылка на имя ученика. Очевидно, что поскольку число студентов будет динамичным и находится в пределах datagrid, генерируемый код включает в себя другие аспекты id, такие как id = "gsform: j_idt168: 1: stname", id = "gsform: j_idt168: 2: stname" и скоро.

Не поймите, как запускать blockUI при щелчке ссылки имени ученика в datagrid, пожалуйста, предложите.

+0

Посмотрите на 'стороне клиента API' Пример: http://www.primefaces.org/showcase/ui/misc/blockUI .xhtml – Kukeltje

+0

Спасибо. Это сработало. Я думал, что blockUI можно вызвать только с помощью триггера !! – user5281896

+0

Документация и витрина - ваш друг – Kukeltje

ответ

1

Срабатывание/Скрытие blockUI изнутри DataGrid с помощью 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>