SqlDataSource.FilterExpression Eigenschaft

Definition

Ruft einen Filterausdruck ab, der angewendet wird, wenn die Select(DataSourceSelectArguments)-Methode aufgerufen wird, oder legt diesen fest.

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

Eigenschaftswert

String

Eine Zeichenfolge, die einen Filterausdruck darstellt, der angewendet wird, wenn Daten mithilfe der Select(DataSourceSelectArguments)-Methode abgerufen werden.

Ausnahmen

Die FilterExpression-Eigenschaft wurde festgelegt und SqlDataSource befindet sich im DataReader-Modus.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Daten aus der Northwind-Datenbank abgerufen und mithilfe einer FilterExpression Zeichenfolge und der FilterParameters Auflistung gefiltert werden. Die FilterExpression Eigenschaft wird jederzeit angewendet, wenn die Select Methode ausgeführt wird, um Daten abzurufen. In diesem Beispiel enthält der FilterExpression Platzhalter für einen Filterparameter, der in der FilterParameters Auflistung enthalten ist. Darüber hinaus ist der Filterparameter ein ControlParameter Objekt, das an die SelectedValue Eigenschaft des DropDownList Steuerelements gebunden ist. Da das DropDownList Steuerelement seine AutoPostBack Eigenschaft auf truefestgelegt hat, führt jede Änderung der Auswahl für das DropDownList Steuerelement dazu, dass die Seite Informationen zurück auf den Server postet und das GridView Steuerelement mit dem neuen Filter an das Datenquellensteuerelement umgeschaltet wird.

<!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>

Hinweise

Der FilterExpression Eigenschaftswert ist ein Formatzeichenfolgenausdruck (eine Zeichenfolge, die von der Methode verarbeitet wird), die die Werte in der String.Format Auflistung für alle in der FilterExpression Zeichenfolge enthaltenen Ersatzparameter verwendet. Die Syntax des Filterausdrucks ist die gleiche Syntax, die von der RowFilter Eigenschaft akzeptiert wird, da der Filterausdruck auf die RowFilter Eigenschaft des Objekts angewendet wird, das von der DataView Ausführung der Select Methode zurückgegeben wird. Weitere Informationen finden Sie unter Expression.

Wenn Sie der FilterParameters Auflistung Parameter hinzufügen, können Sie auch Formatzeichenfolgenplatzhalter enthalten (z "{0}") . B. im Ausdruck, um Parameterwerte zu ersetzen. Die Platzhalter werden nach dem Index des Parameters in der FilterParameters Auflistung ersetzt. Wenn ein Objekt in der FilterParameters Auflistung lautet null, wird das Objekt durch eine leere Zeichenfolge ersetzt.

Sie können Parameter in die FilterExpression Eigenschaft einschließen. Wenn der Parameter ein Zeichenfolgen- oder Zeichentyp ist, schließen Sie den Parameter in einzelne Anführungszeichen ein. Anführungszeichen sind nicht erforderlich, wenn der Parameter ein numerischer Typ ist. Die FilterParameters Auflistung enthält die Parameter, die für die Platzhalter ausgewertet werden, die in der FilterExpression Eigenschaft gefunden werden.

Das SqlDataSource Steuerelement unterstützt die Filterung von Daten nur im DataSet Modus.

Die FilterExpression Eigenschaft delegiert an die FilterExpression Eigenschaft des SqlDataSourceView Objekts, das dem SqlDataSource Steuerelement zugeordnet ist.

Gilt für

Siehe auch