Compartir vía


SqlDataSource.FilterExpression Propiedad

Definición

Obtiene o establece una expresión de filtrado que se aplica cuando se llama al método Select(DataSourceSelectArguments).

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).

Excepciones

La propiedad FilterExpression se ha establecido y SqlDataSource está en modo DataReader.

Ejemplos

En el ejemplo de código siguiente se muestra cómo recuperar datos de la base de datos Northwind y filtrarlos mediante una FilterExpression cadena y la FilterParameters colección. La FilterExpression propiedad se aplica cada vez que se ejecuta el Select método para recuperar datos. En este ejemplo, FilterExpression contiene un marcador de posición para un parámetro de filtro, que se encuentra en la FilterParameters colección. Además, el parámetro filter es un ControlParameter objeto enlazado a la SelectedValue propiedad del DropDownList control. Dado que el DropDownList control tiene su AutoPostBack propiedad establecida trueen , cualquier cambio en la selección del DropDownList control hace que la página publique información de nuevo en el servidor y el GridView control se vuelva a enlazar al control de origen de datos con el nuevo 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>

Comentarios

El FilterExpression valor de la propiedad es una expresión de cadena de formato (una cadena procesada por el String.Format método ) que usa los valores de la FilterExpression colección para los parámetros de sustitución incluidos en la cadena. La sintaxis de la expresión de filtro es la misma que acepta la RowFilter propiedad , porque la expresión de filtro se aplica a la RowFilter propiedad del DataView objeto que se devuelve al ejecutar el Select método. Para obtener más información, vea 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 parámetros). Los marcadores de posición se reemplazan según el índice del parámetro de la FilterParameters colección. Si un objeto de la FilterParameters colección es null, el objeto se reemplazará por una cadena vacía.

Puede incluir parámetros en la FilterExpression propiedad . Si el parámetro es una cadena o un tipo de carácter, incluya el parámetro entre comillas simples. Las comillas no son necesarias, si el parámetro es un tipo numérico. La FilterParameters colección contiene los parámetros que se evalúan para los marcadores de posición que se encuentran en la FilterExpression propiedad .

El SqlDataSource control solo admite el filtrado de datos cuando está en el DataSet modo .

La FilterExpression propiedad delega a la FilterExpression propiedad del SqlDataSourceView objeto asociado al SqlDataSource control .

Se aplica a

Consulte también