Partager via


SqlDataSourceView.FilterExpression Propriété

Définition

Obtient ou définit une expression de filtrage appliquée lorsque la méthode Select est appelée.

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

Valeur de propriété

String

Chaîne qui représente une expression de filtrage appliquée lorsque les données sont récupérées à l’aide de la méthode Select(DataSourceSelectArguments).

Exceptions

La propriété FilterExpression a été définie lorsque SqlDataSource est en mode DataReader.

Exemples

L’exemple de code suivant montre comment récupérer des données à partir de la base de données Northwind et la filtrer à l’aide des propriétés et FilterParameters des FilterExpression propriétés. La FilterExpression propriété du SqlDataSource contrôle est appliquée à tout moment où la Select méthode est exécutée pour récupérer des données. Dans cet exemple, la FilterExpression propriété contient un espace réservé pour un paramètre de filtre, contenu dans la FilterParameters collection. Dans cet exemple, le paramètre de filtre est un ControlParameter objet lié à la SelectedValue propriété du DropDownList contrôle. Étant donné que le DropDownList contrôle a sa AutoPostBack propriété définie sur true, toute modification de la sélection entraîne la publication de la DropDownList page sur le serveur et le GridView contrôle à rebiner au contrôle de source de données avec le nouveau filtre.

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

Remarques

La syntaxe utilisée pour la FilterExpression propriété est une syntaxe de style chaîne de format. Vous pouvez inclure des paramètres dans la FilterExpression propriété. Si le type du paramètre est une chaîne ou un caractère, placez le paramètre entre guillemets simples. Les guillemets ne sont pas obligatoires si le paramètre est un type numérique.

La FilterParameters collection contient les paramètres évalués pour les espaces réservés trouvés dans la FilterExpression propriété.

Le SqlDataSource contrôle prend en charge le filtrage des données uniquement en DataSet mode.

La valeur de la propriété est stockée dans l’état FilterExpression d’affichage.

Important

Vous devez valider toute valeur de paramètre de filtre que vous recevez du client. Le runtime remplace simplement la valeur du paramètre dans l’expression de filtre et l’applique à l’objet DataView retourné par la Select méthode. Si vous utilisez la FilterExpression propriété comme mesure de sécurité pour limiter le nombre d’éléments retournés, vous devez valider les valeurs de paramètre avant que le filtrage ne se produise.

S’applique à

Voir aussi