2013-07-02 119 views
1

我想知道是否有可能有一個加載覆蓋顯示在頁面上,而我有豐富的:數據表被加載(主要是在第一次顯示,並且每次在富人的頁面: dataScroller被更改),因爲加載時間非常緩慢。JSF Richfaces datatable和datascroller加載

這是我目前的情況:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:sec="http://www.springframework.org/security/tags" xmlns:p="http://primefaces.org/ui"> 
<f:view> 
    <h:form> 
     <!-- some more content --> 
     <rich:dataTable width="500" id="attendanceList" reRender="scroller" 
      rows="#{bean.getRowsAmount()}" columnClasses="attendance" 
      rowClasses="even-row, odd-row" 
      value="#{bean.getList()}" var="a" 
      style="width:100%" rendered="#{attendance.renderList}"> 
      <f:facet name="header"> 
       <rich:columnGroup> 
        <h:column rendered="#{bean.renderColumn}"> 
         <h:commandLink styleClass="order-table-header" value="Column Header" action="#{bean.columnSorting()}" /> 
        </h:column> 
        <!-- more columns --> 
       </rich:columnGroup> 
      </f:facet> 
      <h:column rendered="#{bean.renderColumn}"> 
       <h:outputText value="#{bean.columnConent}" /> 
      </h:column> 
      <!-- more columns --> 
      <f:facet name="footer" id="tot"> 
       <rich:dataScroller id="scroller" for="attendanceList" maxPages="15" 
        fastControls="hide" page="#{bean.scrollerPage}" 
        rendered="#{bean.renderScroller}"> 
        <f:facet name="first"> 
         <h:outputText value="First" /> 
        </f:facet> 
        <f:facet name="last"> 
         <h:outputText value="Last" /> 
        </f:facet> 
        <f:facet name="previous"> 
         <h:outputText value="Previous" /> 
        </f:facet> 
        <f:facet name="next"> 
         <h:outputText value="Next" /> 
        </f:facet> 
       </rich:dataScroller> 

      </f:facet> 
     </rich:dataTable> 
    </h:form> 
</f:view> 

回答

1

我找到一個替代

我的頁面加載過程中改變光標到加載時鐘

添加以下內容豐富:dataScroller標籤屬性:

onbegin="waitCursor(true)" oncomplete="waitCursor(false)" 

及以下腳本

waitCursor=function(wait){ 
    if (wait) { 
    document.body.style.cursor = "wait"; // just the clock 
    //document.body.style.cursor = "url(images/mywaitcursor.cur), progress"; // custom cursor, on non supporting browsers would default to clock 
    //document.body.style.cursor = "progress"; // arrow and clock (so you can still click anything) 
    // anyway, if you have defined cursors with CSS for other regions in your page 
    // this wait cursor will be overriden when hovering over those regions 
    } else { 
    document.body.style.cursor = ""; // so it goes back to previous CSS defined value 
    } 
}