SqlDataSource.FilterExpression Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un'espressione di filtro che viene applicata quando il metodo Select(DataSourceSelectArguments) viene chiamato.
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
Valore della proprietà
Stringa che rappresenta un'espressione di filtro applicata quando i dati vengono recuperati usando il metodo Select(DataSourceSelectArguments).
Eccezioni
La proprietà FilterExpression è stata impostata e l'oggetto SqlDataSource è in modalità DataReader.
Esempio
Nell'esempio di codice seguente viene illustrato come recuperare i dati dal database Northwind e filtrarlo usando una FilterExpression stringa e la FilterParameters raccolta. La FilterExpression proprietà viene applicata ogni volta che il Select metodo viene eseguito per recuperare i dati. In questo esempio, contiene FilterExpression un segnaposto per un parametro di filtro, contenuto nella FilterParameters raccolta. Inoltre, il parametro di filtro è un ControlParameter oggetto associato alla SelectedValue proprietà del DropDownList controllo . Poiché la proprietà del DropDownList controllo è impostata su true
, qualsiasi modifica apportata alla selezione per il DropDownList controllo fa sì che la pagina riscriva le informazioni nel server e che il GridView controllo ribindi al controllo origine dati con il nuovo AutoPostBack filtro.
<!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>
Commenti
Il valore della FilterExpressionFilterExpression proprietà è un'espressione stringa di formato (una stringa elaborata dal String.Format metodo ) che usa i valori nella raccolta per tutti i parametri di sostituzione inclusi nella stringa. La sintassi dell'espressione di filtro è la stessa sintassi accettata dalla RowFilter proprietà , perché l'espressione di filtro viene applicata alla RowFilter proprietà dell'oggetto restituito dall'esecuzione DataView del Select metodo . Per altre informazioni, vedere Expression.
Se si aggiungono parametri alla FilterParameters raccolta, è anche possibile includere segnaposto stringa di formato, "{0}")
ad esempio nell'espressione per sostituire i valori dei parametri. I segnaposto vengono sostituiti in base all'indice del parametro nella FilterParameters raccolta. Se un oggetto nella FilterParameters raccolta è null
, l'oggetto verrà sostituito da una stringa vuota.
È possibile includere i parametri nella FilterExpression proprietà . Se il parametro è una stringa o un tipo di carattere, racchiudere il parametro tra virgolette singole. Le virgolette non sono obbligatorie, se il parametro è un tipo numerico. L'insieme FilterParameters contiene i parametri valutati per i segnaposto presenti nella FilterExpression proprietà .
Il SqlDataSource controllo supporta il filtro dei dati solo quando è DataSet in modalità .
La FilterExpression proprietà delega alla FilterExpression proprietà dell'oggetto SqlDataSourceView associato al SqlDataSource controllo .