SqlDataSource.FilterExpression Propriété

Définition

Obtient ou définit une expression de filtrage appliquée lorsque la méthode Select(DataSourceSelectArguments) 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 et 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 le filtrer à l’aide d’une FilterExpression chaîne et de la FilterParameters collection. La FilterExpression propriété est appliquée à tout moment où la Select méthode est exécutée pour récupérer des données. Dans cet exemple, il FilterExpression contient un espace réservé pour un paramètre de filtre, contenu dans la FilterParameters collection. En outre, 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 du DropDownList contrôle entraîne la publication des informations sur la page sur le serveur et le GridView contrôle à reconnecter 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 FilterExpression valeur de la propriété est une expression de chaîne de format (chaîne traitée par la String.Format méthode) qui utilise les valeurs de la FilterExpression collection pour tous les paramètres de substitution inclus dans la chaîne. La syntaxe de l’expression de filtre est la même syntaxe que celle acceptée par la RowFilter propriété, car l’expression de filtre est appliquée à la RowFilter propriété de l’objet DataView retourné par l’exécution de la Select méthode. Pour plus d'informations, consultez Expression.

Si vous ajoutez des paramètres à la FilterParameters collection, vous pouvez également inclure des espaces réservés de chaîne de format (par exemple, "{0}") dans l’expression pour remplacer les valeurs de paramètre. Les espaces réservés sont remplacés en fonction de l’index du paramètre dans la FilterParameters collection. Si un objet de la FilterParameters collection est null, l’objet est remplacé par une chaîne vide.

Vous pouvez inclure des paramètres dans la FilterExpression propriété. Si le paramètre est un type de chaîne ou de 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 FilterExpression propriété délégué à la FilterExpression propriété de l’objet SqlDataSourceView associé au SqlDataSource contrôle.

S’applique à

Voir aussi