SqlDataSource.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(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é
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 de la base de données Northwind et les filtrer à l’aide d’une FilterExpression chaîne et de la FilterParameters collection. La FilterExpression propriété est appliquée chaque fois que la Select méthode est exécutée pour récupérer des données. Dans cet exemple, contient FilterExpression 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 la DropDownListAutoPostBack propriété du contrôle est définie sur true
, toute modification apportée à la sélection du DropDownList contrôle entraîne la publication d’informations sur le serveur et la GridView liaison du contrôle 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 que celle acceptée par la RowFilter propriété , car l’expression de filtre est appliquée à la RowFilter propriété de l’objet qui est retournée par l’exécution DataView 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 qui sont évalués pour les espaces réservés qui se trouvent 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ègue à la FilterExpression propriété de l’objet SqlDataSourceView associé au SqlDataSource contrôle .