共用方式為


Microsoft.Reporting.WebFormsClient.ReportViewer.find 方法

搜尋報表中的指定文字字串。

語法

$find(viewerId).find(text);

參數

  • Text
    要搜尋的字串。

備註

這個方法會從報表區域中目前顯示的報表頁面開始搜尋,並且反白顯示第一個搜尋叫用。對應的伺服器端方法為 Find

當網頁正在執行回傳或用戶端控制項正在載入內容時,存取方法或屬性會導致例外狀況並且顯示下列訊息:「報表或網頁正在更新。請等候目前動作完成。」請使用 isLoading 屬性檢查報表或網頁是否正在更新以及您是否可以存取方法和屬性。

當網頁或用戶端控制項未執行回傳時,這個方法會要求載入報表。如果未載入報表,叫用這個方法會導致例外狀況並且顯示下列訊息:「無法執行此作業,因為沒有載入的報表。」在使用這個方法之前,請使用 reportAreaContentType 屬性檢查報表區域是否包含報表頁面。

下列 ASP.NET 網頁使用一個外部文字方塊和兩個外部按鈕,搜尋報表中的字串。

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

以下是此 ASP.NET 網頁所參考 Find.js 的程式碼。

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

請參閱

參考

Microsoft.Reporting.WebFormsClient.ReportViewer 類別

Microsoft.Reporting.WebFormsClient.ReportViewer.findNext 方法