2011-09-12 50 views
1

我使用的是如下ProgressBar顯示的UpdateProgress直到填充DataSet

<ajaxToolkit:ModalPopupExtender ID="mpeWait" runat="server" Drag="false" PopupControlID="pnlWaitDialog" 
    TargetControlID="btnDummy" EnableViewState="true" BackgroundCssClass="modalBackground"> 
</ajaxToolkit:ModalPopupExtender> 
<asp:Button runat="server" ID="btnDummy" Style="display: none;" /> 
<div id="pnlWaitDialog" runat="server" 
    style="display: none; background-color: Transparent; position: absolute;"> 
    <div align="center"> 
     <img src="Images/Loading.gif" alt="" /> 
    </div> 
</div> 

現在,我需要證明的是,如果DataSet(用於導出到Excel)需要時間來填補。有沒有可能證明這一點?

+0

如果一個進程正在長完成,它總是一個好主意,讓通知的東西正在發生的或更好的用戶,完成工作量的百分比。 –

+0

是的,我同意這一點 –

回答

1

我假設DataSet是在某種點擊事件上填充的?你有沒有嘗試過使用實際的UpdateProgress控件?

<asp:UpdateProgress ID="prgLoadingStatus" runat="server" DynamicLayout="true"> 
    <ProgressTemplate> 
     <div id="overlay"> 
      <div id="modalprogress"> 
       <div id="theprogress"> 
        <asp:Image ID="imgWaitIcon" runat="server" ImageAlign="AbsMiddle" ImageUrl="/images/wait.gif" /> 
        Please wait... 
       </div> 
      </div> 
     </div> 
    </ProgressTemplate> 
</asp:UpdateProgress> 

這裏的CSS,如果你需要它:

#overlay { 
    position: fixed; 
    z-index: 99; 
    top: 0px; 
    left: 0px; 
    background-color: #f8f8f8; 
    width: 100%; 
    height: 100%; 
    filter: Alpha(Opacity=90); 
    opacity: 0.9; 
    -moz-opacity: 0.9; 
}    
#theprogress { 
    background-color: #fff; 
    border:1px solid #ccc; 
    padding:10px; 
    width: 300px; 
    height: 30px; 
    line-height:30px; 
    text-align: center; 
    filter: Alpha(Opacity=100); 
    opacity: 1; 
    -moz-opacity: 1; 
} 
#modalprogress { 
    position: absolute; 
    top: 40%; 
    left: 50%; 
    margin: -11px 0 0 -150px; 
    color: #990000; 
    font-weight:bold; 
    font-size:14px; 
}