Cette documentation est archivée et n’est pas conservée.

SqlDataSource.FilterExpression, propriété

Remarque : cette propriété est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public string FilterExpression { get; set; }
/** @property */
public String get_FilterExpression ()

/** @property */
public void set_FilterExpression (String value)

public function get FilterExpression () : String

public function set FilterExpression (value : String)

Valeur de la propriété

Une 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.

Type d'exceptionCondition

NotSupportedException

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

La syntaxe utilisée pour la propriété FilterExpression est une expression de style format de chaîne. La syntaxe d'expression de filtre est la même syntaxe qui est acceptée par la propriété RowFilter car l'expression de filtre est appliquée à la propriété RowFilter de l'objet DataView qui est retourné de l'exécution de la méthode Select. Pour plus d'informations, consultez Expression.

Si vous ajoutez des paramètres à la collection FilterParameters, vous pouvez également inclure des espaces réservés de chaîne de format (par exemple, "{0}") dans l'expression à substituer aux valeurs de paramètre. Les espaces réservés sont remplacés selon l'index du paramètre dans la collection FilterParameters.

Vous pouvez inclure des paramètres dans la propriété FilterExpression. Si le paramètre est une chaîne ou un caractère, il doit être placé entre guillemets simples. Les guillemets ne sont pas requis si le paramètre est de type numérique. La collection FilterParameters contient les paramètres qui sont évalués pour les espaces réservés recherchés dans la propriété FilterExpression.

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

La propriété FilterExpression délègue à la propriété FilterExpression de l'objet SqlDataSourceView associé au contrôle SqlDataSource.

L'exemple de code suivant illustre comment récupérer les données de la base de données Northwind et les filtrer à l'aide d'une chaîne FilterExpression et de la collection FilterParameters. La propriété FilterExpression est appliquée dès lors que la méthode Select est exécutée pour récupérer des données. Dans cet exemple, FilterExpression contient un espace réservé pour un paramètre de filtre inclus dans la collection FilterParameters. De plus, le paramètre de filtre est un objet ControlParameter lié à la propriété SelectedValue du contrôle DropDownList. Étant donné que la propriété AutoPostBack du contrôle DropDownList a la valeur true, toute modification dans la sélection du contrôle DropDownList engendre la publication d'informations de la page vers le serveur et le contrôle GridView est à nouveau lié 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>
    <BODY>
        <FORM runat="server">

            <p>Show all employees with the following title:
            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                AutoPostBack="True">
                <asp:ListItem Selected>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>

        </FORM>
    </BODY>
</HTML>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
    <BODY>
        <FORM runat="server">

            <p>Show all employees with the following title:
            <asp:DropDownList
                id="DropDownList1"
                runat="server"
                AutoPostBack="True">
                <asp:ListItem Selected>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="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
                SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                FilterExpression="Title='@Title'">
                <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>

        </FORM>
    </BODY>
</HTML>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Afficher: