Freigeben über


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

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 bei jeder Ausführung der Select -Methode zum Abrufen von Daten angewendet. In diesem Beispiel enthält einen 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 die -Eigenschaft des DropDownList Steuerelements auf truefestgelegt istAutoPostBack, bewirkt jede Änderung in der Auswahl für das DropDownList Steuerelement, dass die Seite Informationen zurück an den Server und das GridView Steuerelement mit dem neuen Filter erneut an das Datenquellensteuerelement binden 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 String.Format -Methode verarbeitet wird), der die Werte in der FilterExpression Auflistung für alle in der Zeichenfolge enthaltenen Ersetzungsparameter verwendet. Die Syntax des Filterausdrucks ist dieselbe Syntax, die von der RowFilter -Eigenschaft akzeptiert wird, da der Filterausdruck auf die RowFilter Eigenschaft des Objekts angewendet wird, das DataView von der 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 Platzhalter für Formatzeichenfolgen einschließen (z. B. in den Ausdruck, "{0}") um Parameterwerte zu ersetzen. Die Platzhalter werden gemäß dem Index des Parameters in der FilterParameters Auflistung ersetzt. Wenn ein Objekt in der FilterParameters Auflistung ist 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 einfache 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 das Filtern 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:

Weitere Informationen