2012-03-23 14 views

Odpowiedz

1

Innym sposobem, w jaki zrobiłem to w aplikacji ASP.NET jest implementacja IReportViewerMessages.

Zmiana ProgressText obiekt

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

Inne właściwości to tylko Wracając zerowa. To przeliczenie przyjmuje wartości podstawowe wyjaśnione w poniższym łączu.

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

Edit web.config i dodać AppSetting Tag

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

poniższy link jest pomocne w jaki sposób to zrobić i wyjaśnia, co to jest.

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

Wciąż patrząc w przyszłość, jak to zrobić w przetargach SSRS.

+0

Myślę, że nie mógłbym wyjaśnić mojego problemu. Nie chcę zmieniać wiadomości o postępach ani ukrywać przycisku Wstecz. Chcę ukryć LOADING GIF. – ebruszl

0

W rzeczywistości jest to obraz (gif), więc należy utworzyć obraz z niestandardową wiadomością w nim. Do realizacji Myślę, że powinieneś zobaczyć to pytanie: ReportViewer control loading indicator?.

+0

Ta metoda jest wywoływana w zdarzeniu ładowania formularza, ponieważ wspomniałem, że nie używam żadnej aplikacji ASP.Net. Jak zrobić to samo w SSRS. –

+0

Jeśli SpinningWheel.gif jest tym, o którym mówisz, jest to wskaźnik, ale nie komunikat, który pokazuje. –

+0

Obawiam się, że masz rację. Czy mogę zapytać Cię o sposób, w jaki przeglądasz raport na swojej stronie internetowej? A w jakich przypadkach wyświetla się komunikat Ładowanie? Mam na myśli, czy korzystasz z raportowania szczegółowego, wielu parametrów w raporcie lub innych scenariuszy, które wymagają wyświetlenia tego komunikatu. – Hari

1

Myślę, że nie możemy zmienić komunikatu ładowania w SSRS. To tylko własność get.

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

Powyższy link jest powód, dlaczego mówię, że nie może się zmienić.

Możemy zmienić ten komunikat w aplikacji ASP.NET, którą zrobiłem z kodem javascript.

Aby zmienić wskaźnik ładowania SpinningWheel rozwiązaniem jest, że musimy przejść do okna lub aplikacji internetowej, jak mówi @Harri link.

Aby zmienić komunikat, skorzystałem z aplikacji ASP.NET. Teraz zmienia się, gdy parametry są odświeżane po wybraniu. Nadal w niektórych miejscach muszę się zmienić.

Źródło po przeglądasz:

<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 projekt strony: funkcji 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> 

Code Behind:

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

Uwaga: ReportViewerDisplay jest Id zmiany sterowania ReportViewer odpowiednio

Jeśli zgadzasz się z tym znakiem tę odpowiedź jako użyteczne.

Powiązane problemy