Compartir a través de


Método find

Busca la cadena de texto especificada en el informe.

 $find(viewerId).find(text);

Parámetros

  • Text
    La cadena que se va a buscar.

Comentarios

Este método comienza la búsqueda desde la página del informe que se muestra actualmente en el área de informe y resalta el primer resultado encontrado. El método correspondiente del servidor es Find.

Cuando la página web está realizando un postback o el control del lado cliente está cargando contenido, si se tiene acceso a los métodos o propiedades, se producirá una excepción con el mensaje: "Se están actualizando el informe o la página. Espere a que se complete la acción actual". Utilice la propiedad isLoading para comprobar si el informe o la página se está actualizando y si puede tener acceso a los métodos y propiedades.

Cuando la página web o el control del lado cliente no está realizando un postback, este método requiere que haya un informe cargado. Si no hay ningún informe cargado, al invocar este método se producirá una excepción con el mensaje: "La operación no se puede realizar porque no hay ningún informe cargado". Utilice la propiedad reportAreaContentType para comprobar si el área de informe contiene una página de informe antes de utilizar este método.

La página ASP.NET siguiente utiliza un cuadro de texto externo y dos botones externos para buscar una cadena en el informe.

<%@ 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>

El código para Find.js, al que hace referencia la página ASP.NET, se muestra a continuación.

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;
}

Vea también

Referencia

ReportViewer (Clase)

findNext (Método)