Condividi tramite


Metodo Microsoft.Reporting.WebFormsClient.ReportViewer.find

Cerca nel rapporto la stringa di testo specificata.

Sintassi

$find(viewerId).find(text);

Parametri

  • Text
    Stringa da cercare.

Osservazioni

Questo metodo inizia la ricerca dalla pagina del rapporto attualmente visualizzata nell'area del rapporto ed evidenzia il primo risultato della ricerca. Il metodo lato server corrispondente è Find.

Quando la pagina Web esegue un postback o il controllo lato client carica contenuto, l'accesso ai metodi o alle proprietà genera un'eccezione con un messaggio indicante che è in corso l'aggiornamento del rapporto o della pagina e che è necessario attendere il completamento dell'operazione corrente. Utilizzare la proprietà isLoading per controllare se si sta aggiornando il rapporto o la pagina e se è possibile accedere ai metodi e alle proprietà.

Quando la pagina Web o il controllo lato client non esegue un postback, questo metodo richiede il caricamento di un rapporto. Se non viene caricato alcun rapporto, richiamando tale metodo viene generata un'eccezione con un messaggio analogo al seguente: "Impossibile eseguire l'operazione. Nessun rapporto caricato". Prima di utilizzare questo metodo, utilizzare la proprietà reportAreaContentType per controllare se l'area del rapporto contiene una pagina del rapporto.

La pagina ASP.NET seguente utilizza una casella di testo esterna e due pulsanti esterni per cercare una stringa nel rapporto.

<%@ Page Language="C#" %>

<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Scripts>
            <asp:ScriptReference Path="Find.js" />
        </Scripts>
    </asp:ScriptManager>
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" ProcessingMode="Remote" >
        <ServerReport ReportPath=" /AdventureWorks 2008 Sample Reports/Product Catalog 2008" 
            ReportServerUrl="http://<myserver>/reportserver" />
    </rsweb:ReportViewer>
    <asp:TextBox ID="SearchString" runat="server"></asp:TextBox>
    <asp:Button ID="FindButton" runat="server" Text="Find" OnClientClick="return findString($get('SearchString').value);" />
    <asp:Button ID="NextButton" runat="server" Text="FindNext" OnClientClick="return nextHit();" />
    </form>
</body>
</html>

Il codice per Find.js, cui fa riferimento la pagina ASP.NET, viene fornito di seguito.

function findString(str) {
    var viewer = $find("ReportViewer1");
    if (!viewer.get_isLoading() && viewer.get_reportAreaContentType() ==
    Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
        viewer.find(str);
    }
    return false;
}

function nextHit() {
    var viewer = $find("ReportViewer1");
    if (!viewer.get_isLoading() && viewer.get_reportAreaContentType() ==
    Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
        viewer.findNext();
    }
    return false;
}

Vedere anche

Riferimento

Classe Microsoft.Reporting.WebFormsClient.ReportViewer

Metodo Microsoft.Reporting.WebFormsClient.ReportViewer.findNext