2012-03-23 30 views
5

Tôi muốn thay đổi thông báo "loading ..." trong khi báo cáo đang tải nói "Đang tải Báo cáo, Vui lòng đợi sẽ mất vài giây ... "như thế nào. Bất kỳ cách nào để thay đổi điều này ?.Thay đổi thanh Tiến trình "Đang tải ..." trong Báo cáo SSRS sau khi nhấp vào nút "Xem Báo cáo"

Lưu ý: Tôi không sử dụng bất kỳ Ứng dụng ASP.NET nào. Tôi cần điều này để được thực hiện trong SSRS.

Cảm ơn thời gian của bạn.

Trả lời

1

Cách khác tôi đã làm điều này trong ứng dụng ASP.NET là triển khai IReportViewerMessages.

Thay đổi ProgressText tài sản

string IReportViewerMessages.ProgressText 
     { 
      get 
      { 
       return ("Please Wait... This will take some time"); 
      } 
     } 

Các tài sản khác được Chỉ Trở null. Phần inturn đó lấy các giá trị cơ sở được giải thích trong liên kết bên dưới.

string IReportViewerMessages.BackButtonToolTip 
     { 
      get { return null; } 
     } 

Sửa web.config và thêm Appsetting Tag

<appSettings> 
    <add key="ReportViewerMessages" value="MyNamespace.MyRVMessageClass, MyAssembly" /> 
</appSettings> 

vào liên kết dưới đây là hữu ích trong việc làm thế nào để làm điều này và giải thích nó là gì.

http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages(v=vs.80).aspx

Vẫn đang tìm hiểu cách thực hiện trong BIDS SSRS.

+0

Tôi nghĩ tôi không thể giải thích được vấn đề của mình. Tôi không muốn thay đổi thông báo Tiến trình hoặc ẩn nút quay lại. Tôi muốn ẩn LOADING GIF. – ebruszl

0

Thực ra đó là hình ảnh (gif), vì vậy bạn cần tạo một hình ảnh có thông điệp tùy chỉnh trong đó. Để thực hiện, tôi nghĩ bạn sẽ thấy câu hỏi này: ReportViewer control loading indicator?.

+0

Phương thức này được gọi trong sự kiện tải biểu mẫu như tôi đã đề cập Tôi không sử dụng bất kỳ Ứng dụng ASP.Net nào. Làm thế nào để làm tương tự trong SSRS. –

+0

Nếu SpinningWheel.gif là một trong những bạn đang nói về nó là một chỉ số nhưng không phải là thông điệp mà nó cho thấy. –

+0

Tôi sợ bạn nói đúng. Tôi có thể hỏi bạn cách bạn đang xem báo cáo trong trang web của bạn không? Và trong trường hợp nào, thông báo Đang tải đang hiển thị? Ý tôi là, bạn có đang sử dụng báo cáo xuyên suốt, nhiều thông số trong báo cáo của mình hay các tình huống khác cần hiển thị thông báo này. – Hari

1

Tôi nghĩ chúng tôi không thể thay đổi thông báo tải trong SSRS. Chỉ có tài sản của nó.

http://msdn.microsoft.com/en-us/library/microsoft.reporting.webforms.ireportviewermessages.progresstext.aspx

Liên kết ở trên là lý do tại sao tôi nói chúng ta không thể thay đổi.

Chúng tôi có thể thay đổi thông báo này trong Ứng dụng ASP.NET mà tôi đã thực hiện với mã javascript.

Để thay đổi quayWheel tải Chỉ báo giải pháp là chúng ta phải đi cho các cửa sổ hoặc ứng dụng web như liên kết @Harri nói.

Để thay đổi thông báo tôi đã sử dụng Ứng dụng ASP.NET. Bây giờ nó được thay đổi khi các tham số được làm mới sau khi chọn. Vẫn còn ở một số nơi tôi phải thay đổi.

Nguồn nhân sau khi duyệt:

<div id="ReportViewerDisplay_AsyncWait_Wait" style="cursor:wait;background-color:#DC9CE4;padding:15px;border:1px solid black;display:none;position:absolute;"> 
     <table height="100%"> 
      <tr> 
       <td width="32px" height="32px"> 
        <img src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&amp;Version=10.0.30319.1&amp;Name=Microsoft.Reporting.WebForms.Icons.SpinningWheel.gif" style="height:32px;width:32px;"/> 
       </td> 
       <td style="vertical-align:middle;text-align:center;"> 
        <span style="font-family:Verdana;font-size:14pt;">Loading...</span> 

        <div style="margin-top:3px;"> 
         <a href="javascript:$get(&#39;ReportViewerDisplay_AsyncWait&#39;).control._cancelCurrentPostback();" style="font-family:Verdana;font-size:8pt;color:#3366CC;">Cancel</a> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </div> 

ASP Thiết kế trang: chức năng get (arg) {

  var divTag = document.getElementsByName('ReportViewerDisplay_AsyncWait_Wait'); 
      if (divTag != null) { 
       var tableTag = divTag.item(0); 
       var rowTag = tableTag.childNodes[0]; 
       var columnTag = rowTag.childNodes[0]; 
       var tdtag = columnTag.childNodes[0]; 
       var spantag = tdtag.childNodes[0].nextSibling.childNodes[0]; 
       spantag.outerText = arg; 
      } 
    }; 
    </script> 

Mã Đằng sau:

protected void ReportViewerDisplay_PreRender(object sender, EventArgs e) 
     { 
      ClientScriptManager cs = Page.ClientScript; 
      cs.RegisterStartupScript(typeof(Page), "PrintScript_" + UniqueID, "get('Please Wait');", true); 
     } 

Lưu ý: ReportViewerDisplay là Id của sự thay đổi kiểm soát ReportViewer cho phù hợp

Nếu bạn đồng ý với điểm này câu trả lời này là hữu ích.

Các vấn đề liên quan