Udostępnij za pośrednictwem


Klasa Podglądu raportów

Udostępnia właściwości i metody programowania po stronie klienta ReportViewer formant serwera sieci Web.

ReportViewer Kontrolki serwera sieci Web tworzy wystąpienie tej klasy w przeglądarce klienta jako uchwyt można programowo interakcję z kontroli po stronie klienta. Za pomocą tego wystąpienia dostosować zachowanie formantu po stronie klienta o minimalnej odświeżaniu strony na serwerze.

Namespace: Microsoft.Reporting.WebFormsClient

Inherits: Sys.Component

 var v = $find(viewerId);

Elementy członkowskie

Nazwa

Opis

Metoda exportReport

Wyeksportowanie raportu do określonego formatu.

Metoda find

Wyszukuje ciąg w bieżącym raporcie w obszarze raportu.

Metoda findNext

Znajduje kolejne wyszukiwanie Traf w raporcie.

Metoda invokePrintDialog

Uruchamia Drukuj okno dialogowe.

Metoda recalculateLayout

Oblicza układ ReportViewer.

Metoda refreshReport

Odświeża raportu.

Właściwość documentMapCollapsed

Pobiera lub ustawia Boolean wartość, która wskazuje, czy jest zwinięta planie dokumentu.

Właściwość isLoading

Pobiera Boolean wartość wskazującą, czy strona sieci Web działa odświeżenie strony lub kontroli po stronie klienta jest załadowanie zawartości.

Właściwość promptAreaCollapsed

Pobiera lub ustawia Boolean wartość, która wskazuje, czy parametr obszaru Monituj jest zwinięta.

Właściwość reportAreaContentType

Pobiera Microsoft.Reporting.WebFormsClient.ReportAreaContent wartość wyliczenia wskazująca bieżący typ zawartości obszaru raportu.

Właściwość reportAreaScrollPosition

Pobiera lub ustawia Sys.UI.Point obiekt, który reprezentuje pozycji przewijania obszaru raportu.

Właściwość zoomLevel

Pobiera lub ustawia string reprezentujący bieżący poziom powiększenia/pomniejszenia.

Uwagi

Nie można utworzyć wystąpienia ReportViewer bezpośrednio klasa. Zamiast tego możesz uzyskać dostęp do ReportViewer wystąpienie. ReportViewer wystąpienie jest tworzony za każdym razem kontrolki serwera sieci Web jest renderowany w przeglądarce klienta i będzie się powtarzał, tak długo, jak strony sieci Web jest otwarty w przeglądarce i kontrolki serwera sieci Web nie jest rerendered. Gdy kontrolki serwera sieci ReportViewer Web znajduje się wewnątrz UpdatePanel kontroli, ReportViewer wystąpienie jest usunięty i utworzyć ponownie za każdym razem, gdy panelu update przez aktualizację stron częściowych odświeżania w przeglądarce klienta.

Do dostępu do ReportViewer wystąpienie, użyj Sys.Application.findComponent metody lub $find skrótów o identyfikatorze ReportViewer wystąpienie. Na przykład fragment strony ASP.NET poniżej rejestruje plik JavaScript, ClientCode.js, w ScriptManager kontroli. Następnie definiuje pliku ClientCode.js rezoom metody, która używa $find metody dostępu do ReportViewer przy użyciu Identyfikatora po stronie klienta ReportViewer formant serwera sieci Web. Dodawanie skryptu odwołania do ScriptManager zapewnia kontrolę wykonywania skryptów zarejestrowanych po załadowaniu w bibliotece Microsoft AJAX.

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="ClientCode.js" />
    </Scripts>
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote">
    <ServerReport ReportPath="/AdventureWorks 2008 Sample Reports/Company Sales 2008" 
        ReportServerUrl="http://<servername>/reportserver" />
</rsweb:ReportViewer>
<asp:TextBox ID="TextBox1" runat="server" onchange="rezoom(value)"></asp:TextBox>

Poniżej przedstawiono kod ClientCode.js. W większości przypadków, wartość viewerID zmienna jest identyfikator kontrolki serwera sieci Web na stronie ASP.NET. W fragment kodu ASP.NET, jest to "ReportViewer1". Skorzystaj z kontrolki serwera sieci Web ClientID właściwości w celu uzyskania wiarygodnych identyfikator po stronie klienta.

function rezoom(level) {
    var viewer = $find("ReportViewer1");
    if (!viewer.get_isLoading() && viewer.get_zoomLevel() != level)
        viewer.set_zoomLevel(level);
}

Wyjątki zgłaszane przez wystąpienie ReportViewer

Strona sieci Web działa odświeżenie strony lub kontroli po stronie klienta jest załadowanie zawartości, dostęp do metody lub właściwości ReportViewer wystąpienia spowoduje, że wyjątek z komunikatem: "raportu lub strona jest aktualizowana. Zaczekaj na ukończenie bieżącej akcji." IsLoading właściwości można użyć do sprawdzenia, czy raport lub strona jest aktualizowany i określa, czy użytkownik może uzyskać dostęp do metod i właściwości. Ta właściwość nie zgłoszony wyjątek.

Jeśli strona sieci Web lub kontroli po stronie klienta nie wykonuje odświeżenie strony, zestaw metod wymagają załadowaniu raportu. Jeśli raport nie jest załadowany, wywoływanie metod tych spowoduje, że wyjątek z komunikatem: "nie można wykonać operacji, ponieważ nie istnieje żaden raport załadowany." Te metody są wymienione poniżej. Użyj reportAreaContentType właściwości, aby sprawdzić, czy obszar raport zawiera strony raportu przed użyciem tych metod.

Obsługa zdarzeń zmiany właściwości

Jeśli chcesz otrzymać powiadomienie, gdy zostanie zmieniona właściwość, należy zarejestrować programu obsługi zdarzeń z Sys.Component.propertyChanged zdarzenia. Jest to zdarzenie ReportViewer instancji klasy bazowej. Na przykład następujący kod rejestruje zdarzenie, aby wymusić ograniczenia na wartość zoomLevel właściwości. Możesz dodać odniesienie skryptu dla następującego kodu JavaScript w swojej ScriptManager kontroli.

Sys.Application.add_load(function () {
    $find(viewerID).add_propertyChanged(viewerPropertyChanged);
});

function viewerPropertyChanged(sender, e) {
    if (e.get_propertyName() == "zoomLevel") {
        var viewer = $find(viewerID);
        if (!viewer.get_isLoading() && viewer.get_zoomLevel() < 20) {
            viewer.set_zoomLevel(20);
            alert("Reset zoomLevel to 20.");
        }
    }
}

Zmiany właściwości, które występują przed add_propertyChanged metoda nie wywoła metodę obsługi zdarzeń. Upewnij się, że można umieścić add_propertyChanged metody poprawnie, aby zdarzenie jest obsługiwane jako oczekiwano. W przypadku większości scenariuszy można zarejestrować z propertyChanged wewnątrz program obsługi zdarzeń dla Sys.Application.load zdarzenia, takie jak powyżej przykładowy kod. Jednak ponieważ formant po stronie klienta również wykonuje kod w załadować zdarzenia, jego add_load program obsługi może zmienić wartość właściwości odsetek użytkownikowi przed swoje add_load program obsługi jest wykonywany w zależności od kolejność, w którym wykonuje platformę AJAX po stronie klienta add_load programów obsługi. Aby upewnić się, że wszystkie zmiany właściwości są obsługiwane, możesz zarejestrować z propertyChanged programu obsługi zdarzeń dla Sys.Application.init zdarzenia.

Zobacz też

Informacje

Sys.Application.load Event

Koncepcje

Microsoft.Reporting.WebFormsClient

AJAX Client Life-Cycle Events