SqlDataSource.FilterExpression Propiedad

Definición

Obtiene o establece una expresión de filtrado que se aplica cuando se llama al método Select(DataSourceSelectArguments).Gets or sets a filtering expression that is applied when the Select(DataSourceSelectArguments) method is called.

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

Valor de propiedad

Cadena que representa una expresión de filtrado que se aplica cuando se recuperan los datos mediante el método Select(DataSourceSelectArguments).A string that represents a filtering expression applied when data is retrieved using the Select(DataSourceSelectArguments) method.

Excepciones

La propiedad FilterExpression se ha establecido y SqlDataSource está en modo DataReader.The FilterExpression property was set and the SqlDataSource is in DataReader mode.

Ejemplos

En el ejemplo de código siguiente se muestra cómo recuperar datos de la base de datos Northwind y FilterExpression cómo filtrarlos FilterParameters mediante una cadena y la colección.The following code example demonstrates how to retrieve data from the Northwind database and filter it using a FilterExpression string and the FilterParameters collection. La FilterExpression propiedad se aplica cada vez que Select se ejecuta el método para recuperar los datos.The FilterExpression property is applied any time the Select method is executed to retrieve data. En este ejemplo, FilterExpression contiene un marcador de posición para un parámetro de filtro, que se encuentra en la FilterParameters colección.In this example, the FilterExpression contains a placeholder for a filter parameter, which is contained in the FilterParameters collection. Además, el parámetro filter es un ControlParameter objeto que se enlaza a la SelectedValue propiedad del DropDownList control.In addition, the filter parameter is a ControlParameter object that is bound to the SelectedValue property of the DropDownList control. Dado que DropDownList el control tiene AutoPostBack su propiedad establecida trueen DropDownList , cualquier cambio en la selección del control hace que la página envíe información al servidor y el GridView control se vuelva a enlazar al origen de datos. control con el nuevo filtro.Because the DropDownList control has its AutoPostBack property set to true, any change in the selection for the DropDownList control causes the page to post information back to the server and the GridView control to rebind to the data source control with the new filter.

<!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>

Comentarios

El FilterExpression valor de propiedad es una expresión de cadena de formato (una cadena procesada String.Format por el método) que usa los valores FilterExpression de la colección para los parámetros de sustitución incluidos en la cadena.The FilterExpression property value is a format string expression (a string that is processed by the String.Format method) that uses the values in the FilterExpression collection for any substitution parameters included in the string. La sintaxis de la expresión de filtro es la misma que la que RowFilter acepta la propiedad, porque la expresión de filtro se RowFilter aplica a la DataView propiedad del objeto que se devuelve al ejecutar Select el método.The filter expression syntax is the same syntax that is accepted by the RowFilter property, because the filter expression is applied to the RowFilter property of the DataView object that is returned from executing the Select method. Para obtener más información, vea Expression.For more information, see Expression.

Si agrega parámetros a la FilterParameters colección, también puede incluir marcadores de posición de cadena de formato (por ejemplo, "{0}") en la expresión para sustituir los valores de los parámetros.If you add parameters to the FilterParameters collection, you can also include format string placeholders (for example, "{0}") in the expression to substitute for parameter values. Los marcadores de posición se reemplazan según el índice del parámetro de la FilterParameters colección.The placeholders are replaced according to the index of the parameter in the FilterParameters collection. Si un objeto de la FilterParameters colección es null, el objeto se reemplazará por una cadena vacía.If an object in the FilterParameters collection is null, the object will be replaced by an empty string.

Puede incluir parámetros en la FilterExpression propiedad.You can include parameters in the FilterExpression property. Si el parámetro es un tipo de cadena o de carácter, incluya el parámetro entre comillas simples.If the parameter is a string or character type, enclose the parameter in single quotation marks. No se requieren comillas, si el parámetro es un tipo numérico.Quotation marks are not required, if the parameter is a numeric type. La FilterParameters colección contiene los parámetros que se evalúan para los marcadores de posición que se encuentran FilterExpression en la propiedad.The FilterParameters collection contains the parameters that are evaluated for the placeholders that are found in the FilterExpression property.

El SqlDataSource control solo admite el filtrado de datos en DataSet el modo.The SqlDataSource control supports filtering data only when in the DataSet mode.

La FilterExpression propiedad delega en la FilterExpression propiedad del SqlDataSourceView objeto que está asociado SqlDataSource al control.The FilterExpression property delegates to the FilterExpression property of the SqlDataSourceView object that is associated with the SqlDataSource control.

Se aplica a

Consulte también: