SqlDataSource.FilterExpression Proprietà

Definizione

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à

String

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 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 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 FilterExpression proprietà è un'espressione stringa di formato (stringa elaborata dal String.Format metodo) che usa i valori nella FilterExpression 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 filtro viene applicata alla RowFilter proprietà dell'oggetto restituito dall'esecuzione del DataView Select metodo. Per altre informazioni, vedere Expression.

Se si aggiungono parametri alla raccolta, è anche possibile includere segnaposto stringa di formato, ad esempio "{0}") nell'espressione FilterParameters da sostituire per i valori dei parametri. I segnaposto vengono sostituiti in base all'indice del parametro nella FilterParameters raccolta. Se un oggetto nell'insieme è null, l'oggetto FilterParameters verrà sostituito da una stringa vuota.

È possibile includere parametri nella FilterExpression proprietà. Se il parametro è una stringa o un tipo di carattere, racchiudere il parametro tra virgolette singole. Le virgolette non sono necessarie, se il parametro è un tipo numerico. L'insieme FilterParameters FilterExpression contiene i parametri valutati per i segnaposto presenti nella proprietà.

Il SqlDataSource controllo supporta il filtro dei dati solo quando nella DataSet modalità.

La FilterExpression proprietà delega alla FilterExpression proprietà dell'oggetto SqlDataSourceView associato al SqlDataSource controllo.

Si applica a

Vedi anche