SqlDataSourceView.FilterExpression 속성

정의

Select 메서드가 호출될 때 적용되는 필터링 식을 가져오거나 설정합니다.

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) 메서드를 사용하여 데이터가 검색될 때 적용되는 필터링 식을 나타내는 문자열입니다.

예외

FilterExpressionSqlDataSource 모드일 때 DataReader 속성이 설정되어 있는 경우

예제

다음 코드 예제에서는 Northwind 데이터베이스에서 데이터를 검색 하 고 사용 하 여 필터에 대 한 방법에 설명 합니다 FilterExpressionFilterParameters 속성입니다. FilterExpression 의 속성을 SqlDataSource 컨트롤에는 언제 든 지 적용 됩니다를 Select 데이터를 검색할 메서드를 실행 합니다. 이 예제에서는 합니다 FilterExpression 속성에 포함 된 필터 매개 변수에 대 한 자리 표시자를 포함 합니다 FilterParameters 컬렉션입니다. 이 예제에서 filter 매개 변수는를 ControlParameter 바인딩되는 개체를 SelectedValue 의 속성은 DropDownList 컨트롤입니다. 때문에 DropDownList 컨트롤에 해당 AutoPostBack 속성이로 설정 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 속성입니다. 매개 변수 형식의 문자열 또는 문자 이면 매개 변수를 작은따옴표로 묶습니다. 매개 변수가 숫자 형식인 경우 따옴표가 필요 없습니다.

합니다 FilterParameters 컬렉션에 있는 자리 표시자에 대 한 계산 되는 매개 변수를 포함 합니다 FilterExpression 속성입니다.

합니다 SqlDataSource 컨트롤에 데이터를 필터링은 지원의 경우에만 DataSet 모드입니다.

값을 FilterExpression 속성은 뷰 상태에 저장 됩니다.

중요

클라이언트에서 받은 모든 필터 매개 변수 값을 확인 해야 합니다. 매개 변수 값은 필터 식으로 대체 및에 적용 하기만 하면 런타임에서 DataView 에서 반환 되는 개체는 Select 메서드. 사용 중인 경우는 FilterExpression 필터링이 발생 하기 전에 매개 변수 값의 유효성을 검사 해야 반환 되는 항목의 수를 제한 하려면 보안 조치로 속성입니다.

적용 대상

추가 정보