SqlDataSource.FilterExpression プロパティ

定義

Select(DataSourceSelectArguments) メソッドが呼び出されるときに適用されるフィルター式を取得または設定します。

public:
 property System::String ^ FilterExpression { System::String ^ get(); void set(System::String ^ value); };
public string FilterExpression { get; set; }
member this.FilterExpression : string with get, set
Public Property FilterExpression As String

プロパティ値

String

Select(DataSourceSelectArguments) メソッドを使用してデータを取得するときに適用されるフィルター式を表す文字列。

例外

FilterExpression プロパティが設定され、SqlDataSourceDataReader モードです。

次のコード例は、Northwind データベースからデータを取得し、文字列とコレクションを FilterExpression 使用してフィルター処理する方法を FilterParameters 示しています。 このプロパティは FilterExpression 、データを取得するためにメソッドが Select 実行されるたびに適用されます。 この例では、コレクションに FilterExpression 含まれるフィルター パラメーターのプレースホルダーが FilterParameters 含まれています。 さらに、フィルター パラメーターはControlParameter、コントロールのDropDownListプロパティにSelectedValueバインドされているオブジェクトです。 コントロールAutoPostBackにはDropDownListプロパティが設定trueされているため、コントロールの選択内容DropDownListが変更されると、ページはサーバーに情報をポストバックし、コントロールはGridView新しいフィルターを使用してデータ ソース コントロールに再バインドされます。

<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <p>Show all employees with the following title:
            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                AutoPostBack="True">
                <asp:ListItem Selected="True">Sales Representative</asp:ListItem>
                <asp:ListItem>Sales Manager</asp:ListItem>
                <asp:ListItem>Vice President, Sales</asp:ListItem>
            </asp:DropDownList></p>

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                FilterExpression="Title='{0}'">
                <FilterParameters>
                    <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
                </FilterParameters>
            </asp:SqlDataSource>

            <p><asp:GridView
                id="GridView1"
                runat="server"
                DataSourceID="SqlDataSource1"
                AutoGenerateColumns="False">
                <columns>
                    <asp:BoundField Visible="False" DataField="EmployeeID" />
                    <asp:BoundField HeaderText="First Name" DataField="FirstName" />
                    <asp:BoundField HeaderText="Last Name" DataField="LastName" />
                </columns>
            </asp:GridView></p>

        </form>
    </body>
</html>
<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">

            <p>Show all employees with the following title:
            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                AutoPostBack="True">
                <asp:ListItem Selected="True">Sales Representative</asp:ListItem>
                <asp:ListItem>Sales Manager</asp:ListItem>
                <asp:ListItem>Vice President, Sales</asp:ListItem>
            </asp:DropDownList></p>

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                FilterExpression="Title='{0}'">
                <FilterParameters>
                    <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
                </FilterParameters>
            </asp:SqlDataSource>

            <p><asp:GridView
                id="GridView1"
                runat="server"
                DataSourceID="SqlDataSource1"
                AutoGenerateColumns="False">
                <columns>
                    <asp:BoundField Visible="False" DataField="EmployeeID" />
                    <asp:BoundField HeaderText="First Name" DataField="FirstName" />
                    <asp:BoundField HeaderText="Last Name" DataField="LastName" />
                </columns>
            </asp:GridView></p>

        </form>
    </body>
</html>

注釈

プロパティ値はFilterExpression、文字列に含まれる置換パラメーターに対してコレクション内FilterExpressionの値を使用する書式指定文字列式 (メソッドによってString.Format処理される文字列) です。 フィルター式の構文は、メソッドの実行Selectから返されるオブジェクトのプロパティにRowFilterフィルター式が適用されるため、プロパティでRowFilter受け入れられるのDataViewと同じ構文です。 詳細については、「Expression」を参照してください。

コレクションにパラメーターを FilterParameters 追加する場合は、書式設定文字列プレースホルダーを含めることもできます (たとえば、 "{0}") パラメーター値に置き換える式に含めることができます。 プレースホルダーは、コレクション内 FilterParameters のパラメーターのインデックスに従って置き換えられます。 コレクション内のオブジェクトが存在する FilterParameters 場合、オブジェクトは null空の文字列に置き換えられます。

プロパティにはパラメーターを FilterExpression 含めることができます。 パラメーターが文字列型または文字型の場合は、パラメーターを単一引用符で囲みます。 パラメーターが数値型の場合は、引用符は必要ありません。 FilterParametersコレクションには、プロパティで見つかったプレースホルダーに対して評価されるパラメーターがFilterExpression含まれています。

コントロールは SqlDataSource 、モードの場合にのみデータのフィルター処理を DataSet サポートします。

プロパティは FilterExpression 、コントロールに FilterExpression 関連付けられているオブジェクトの SqlDataSourceView プロパティに SqlDataSource デリゲートします。

適用対象

こちらもご覧ください