Compartir a través de


SqlDataSourceView.FilterExpression Propiedad

Definición

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

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

String

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 establece cuando SqlDataSource se encuentra en el 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 las FilterExpression propiedades y FilterParameters . La FilterExpression propiedad del SqlDataSource control se aplica cada vez que se ejecuta el Select método para recuperar datos. En este ejemplo, la FilterExpression propiedad contiene un marcador de posición para un parámetro de filtro, que se encuentra en la FilterParameters colección. En este ejemplo, 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 DropDownList selección hace que la página se publique 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

La sintaxis que se usa para la FilterExpression propiedad es una sintaxis de estilo de cadena de formato. Puede incluir parámetros en la FilterExpression propiedad . Si el tipo del parámetro es cadena o carácter, incluya el parámetro entre comillas simples. No se requieren comillas, 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 DataSet modo .

El valor de la FilterExpression propiedad se almacena en estado de vista.

Importante

Debe validar cualquier valor de parámetro de filtro que reciba del cliente. El tiempo de ejecución simplemente sustituye el valor del parámetro en la expresión de filtro y lo aplica al DataView objeto devuelto por el Select método . Si usa la FilterExpression propiedad como medida de seguridad para limitar el número de elementos que se devuelven, debe validar los valores de parámetro antes de que se produzca el filtrado.

Se aplica a

Consulte también