SqlDataSourceView.FilterExpression Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
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.