Compartir por


QueryExtender Clase

Definición

Permite filtrar los datos de un origen de datos sin una cláusula explícita Where en el origen de datos.

public ref class QueryExtender : System::Web::UI::Control
[System.Drawing.ToolboxBitmap(typeof(System.Web.UI.WebControls.QueryExtender), "QueryExtender.bmp")]
public class QueryExtender : System.Web.UI.Control
[<System.Drawing.ToolboxBitmap(typeof(System.Web.UI.WebControls.QueryExtender), "QueryExtender.bmp")>]
type QueryExtender = class
    inherit Control
Public Class QueryExtender
Inherits Control
Herencia
QueryExtender
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar el QueryExtender control para proporcionar una función de búsqueda en una página web. El QueryExtender control usa el texto especificado en el TextBoxSearch control para buscar contenido en las columnas ProductName y Supplier.CompanyName de una tabla Products de los datos que se devuelven del LinqDataSource control. El SearchExpression objeto se usa para realizar la búsqueda. La DataFields propiedad especifica los campos de datos que se van a buscar. La SearchType propiedad especifica el tipo de búsqueda que se va a realizar. El ControlParameter elemento especifica el control que contiene el texto que se va a usar para la búsqueda. Este ejemplo de código forma parte de un ejemplo más grande que se proporciona en Tutorial: Filtrado de datos en una página web mediante sintaxis declarativa.

<asp:LinqDataSource ID="dataSource" runat="server"
    TableName="Products">
</asp:LinqDataSource>
<asp:QueryExtender TargetControlID="dataSource" runat="server">
  <asp:SearchExpression DataFields="ProductName, Supplier.CompanyName"
        SearchType="StartsWith">
    <asp:ControlParameter ControlID="TextBoxSearch" />
  </asp:SearchExpression>
</asp:QueryExtender>

En el ejemplo siguiente se muestra cómo usar el QueryExtender control para buscar valores en una página web en un intervalo especificado. El QueryExtender control usa los valores especificados en los TextBoxFrom controles y TextBoxTo para buscar valores en las columnas ProductName y Supplier.CompanyName de una tabla Products de los datos que se devuelven del LinqDataSource control. El ControlParameter elemento especifica los controles de cuadro de texto que contienen los valores mínimo y máximo que se van a usar para buscar el intervalo. Las MinType propiedades y MaxType especifican que los valores mínimo y máximo deben incluirse en los datos que se devuelven. Este ejemplo de código forma parte de un ejemplo más grande proporcionado en Tutorial: Filtrado de datos en una página web mediante sintaxis declarativa.

<asp:LinqDataSource ID="dataSource" runat="server"
    TableName="Products">
</asp:LinqDataSource>
<asp:QueryExtender TargetControlID="dataSource" runat="server">
  <asp:RangeExpression DataField="UnitPrice" MinType="Inclusive"
        MaxType="Inclusive">
    <asp:ControlParameter ControlID="TextBoxFrom" />
    <asp:ControlParameter ControlID="TexBoxTo" />
  </asp:RangeExpression>
</asp:QueryExtender>

Comentarios

En este tema:

Introducción

El QueryExtender control se usa para crear filtros para los datos que se recuperan de un origen de datos, sin usar una cláusula explícita Where en el origen de datos. El QueryExtender control se puede usar para especificar el filtrado mediante la sintaxis declarativa.

Antecedentes

El filtrado excluye los datos de un origen de datos mostrando solo los registros que cumplen los criterios especificados. El filtrado permite presentar vistas diferentes de los datos que se encuentran en un conjunto de datos sin afectar a los datos del conjunto de datos.

El filtrado normalmente requiere que cree una Where cláusula para aplicar al comando que consulta el origen de datos. Sin embargo, es posible que la Where propiedad del control de origen de datos no exponga toda la funcionalidad disponible. Por ejemplo, el control QueryExtender permite consultar una tabla buscando cadenas al principio, al final o en cualquier lugar del campo .data.

Para exponer la funcionalidad completa que está disponible en LINQ y para facilitar el filtrado de datos, ASP.NET proporciona el QueryExtender control. El QueryExtender control tiene las siguientes ventajas:

  • Proporciona una experiencia de filtrado más completa que escribir una Where cláusula. Por ejemplo, puede buscar una tabla Products para los valores booleanos mediante el PropertyExpression filtro sin escribir una consulta.

  • Permite especificar filtros mediante la misma sintaxis para los LinqDataSource controles y y EntityDataSource para cualquier otro control de origen de datos que pueda usar.

  • Se puede usar con LinqDataSource control, con un EntityDataSource control o con orígenes de datos de terceros.

Opciones de filtro

El QueryExtender control admite una variedad de opciones que puede usar para filtrar los datos. El control permite buscar cadenas, buscar valores numéricos en un intervalo especificado y comparar un valor de propiedad en una tabla con un valor especificado. El control también le permite ordenar los datos y proporcionar consultas personalizadas.

Estas opciones se proporcionan como expresiones LINQ en el QueryExtender control . El QueryExtender control también admite expresiones específicas de ASP.NET aplicaciones de datos dinámicos.

En la tabla siguiente se enumeran las opciones que puede usar para filtrar los datos del QueryExtender control.

Expression Descripción
ControlFilterExpression (Solo datos dinámicos) Compila una consulta de base de datos mediante la clave de datos seleccionada en un control enlazado a datos de origen.

Para obtener información sobre cómo usar esta opción de filtro, vea Cómo: Filtrar filas de tabla mediante valores de una tabla primaria en datos dinámicos.
CustomExpression Especifica una expresión definida por el usuario para un origen de datos. La expresión LINQ personalizada se puede invocar en un controlador de eventos.
DynamicFilterExpression (Solo datos dinámicos) Compila una consulta de base de datos mediante el control especificado DynamicFilter .

Para obtener información sobre cómo usar esta opción de filtro, vea Cómo: Filtrar filas de tabla mediante clave externa en datos dinámicos.
MethodExpression Especifica una expresión LINQ definida por el usuario para un origen de datos. La expresión se invoca en un método .
OrderByExpression Aplica una expresión de ordenación a un IQueryable objeto de origen de datos. Después de aplicar el OrderByExpression valor, puede aplicar operaciones de ordenación adicionales especificando un ThenByExpressions valor.
PropertyExpression Compara las propiedades del campo de datos y los valores de propiedad especificados en la WhereParameters colección.
RangeExpression Determina si un valor es mayor o menor que un valor especificado, o si un valor está entre dos valores.
SearchExpression Compara los valores de un campo o campos con un valor de cadena especificado.

Puede usar estas QueryExtender opciones individualmente o puede combinarlas para proporcionar filtrado complejo en una página web. Para obtener más información, consulte QueryExtender Web Server Control Overview. Tutorial: Filtrado de datos en una página web mediante sintaxis declarativa

Tasks

En la tabla siguiente se enumeran las tareas que muestran cómo usar el control para filtrar los QueryExtender datos.

Documento tarea
Tutorial: Filtrado de datos en una página web mediante sintaxis declarativa Muestra cómo usar las opciones de filtro que proporciona el QueryExtender control.

Sintaxis declarativa

<asp:QueryExtender 
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBiding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="UnLoad event handler"
    Runat="server"
    TargetControlID="string"
    Visible="True|False"
>
        <asp:ControlFilterExpression
            ControlD="string"
            Column="string">
        </asp:ControlFilterExpression>
        <asp:DynamicFilterExpression
            ControlD="string"
        </asp:DynamicFilterExpression>
        <asp:CustomExpression="string"
            OnQuerying="OnQuerying event handler">
        </asp:CustomExpression>
        <asp:OrderByExpression="string"
            DataField="string"
            Direction="string">
            <asp:ThenByExpression
                 DataField="string"
                 Direction="string"
            </asp:ThenBy>
        </asp:OrderByExpression>
        <asp:PropertyExpression="string">
                <!-- child controls -->
        </asp:PropertyExpression
        >
        <asp:RangeExpression="integer"
            Datafield="string"
            MaxType="Exclusive|Inclusive|None"
            MinType="Exclusive|Inclusive|None">
                <!--child controls-->
        </asp:RangeExpression>
        <asp:SearchExpression="string"
            ComparisonType="CurrentCulture|CurrentCultureIgnoreCase|
                InvariantCulture|InvariantCultureIgnoreCase|
                Ordinal|OrdinalIgnoreCase"
            DataField="string"
            SearchType="Contains|EndsWith|StartsWith">
                <!--child controls-->
        </asp:SearchExpression>
</asp:QueryExtender>

Constructores

Nombre Description
QueryExtender()

Inicializa una nueva instancia de la QueryExtender clase .

Propiedades

Nombre Description
Adapter

Obtiene el adaptador específico del explorador para el control .

(Heredado de Control)
AppRelativeTemplateSourceDirectory

Obtiene o establece el directorio virtual relativo a la Page aplicación del objeto o UserControl que contiene este control.

(Heredado de Control)
BindingContainer

Obtiene el control que contiene el enlace de datos de este control.

(Heredado de Control)
ChildControlsCreated

Obtiene un valor que indica si se han creado los controles secundarios del control de servidor.

(Heredado de Control)
ClientID

Obtiene el identificador de control para el marcado HTML generado por ASP.NET.

(Heredado de Control)
ClientIDMode

Obtiene o establece el algoritmo que se usa para generar el valor de la ClientID propiedad .

(Heredado de Control)
ClientIDSeparator

Obtiene un valor de carácter que representa el carácter separador utilizado en la ClientID propiedad .

(Heredado de Control)
Context

Obtiene el HttpContext objeto asociado al control de servidor para la solicitud web actual.

(Heredado de Control)
Controls

Obtiene un ControlCollection objeto que representa los controles secundarios de un control de servidor especificado en la jerarquía de la interfaz de usuario.

(Heredado de Control)
DataItemContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataItemContainer.

(Heredado de Control)
DataKeysContainer

Obtiene una referencia al contenedor de nomenclatura si el contenedor de nomenclatura implementa IDataKeysControl.

(Heredado de Control)
DataSource

Obtiene el control de origen de datos (IDataSource objeto) que se va a usar para la consulta.

DesignMode

Obtiene un valor que indica si se usa un control en una superficie de diseño.

(Heredado de Control)
EnableTheming

Obtiene o establece un valor que indica si los temas se aplican a este control.

(Heredado de Control)
EnableViewState

Obtiene o establece un valor que indica si el control de servidor conserva su estado de vista y el estado de vista de los controles secundarios que contiene, al cliente solicitante.

(Heredado de Control)
Events

Obtiene una lista de delegados del controlador de eventos para el control . Esta propiedad es de solo lectura.

(Heredado de Control)
Expressions

Obtiene la colección de expresiones que se aplican al IDataSource control .

HasChildViewState

Obtiene un valor que indica si los controles secundarios del control de servidor actual tienen cualquier configuración de estado de vista guardada.

(Heredado de Control)
ID

Obtiene o establece el identificador de programación asignado al control de servidor.

(Heredado de Control)
IdSeparator

Obtiene el carácter usado para separar los identificadores de control.

(Heredado de Control)
IsChildControlStateCleared

Obtiene un valor que indica si los controles contenidos en este control tienen estado de control.

(Heredado de Control)
IsTrackingViewState

Obtiene un valor que indica si el control de servidor guarda los cambios en su estado de vista.

(Heredado de Control)
IsViewStateEnabled

Obtiene un valor que indica si el estado de vista está habilitado para este control.

(Heredado de Control)
LoadViewStateByID

Obtiene un valor que indica si el control participa en la carga de su estado de vista en ID lugar del índice.

(Heredado de Control)
NamingContainer

Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para diferenciar entre los controles de servidor con el mismo ID valor de propiedad.

(Heredado de Control)
Page

Obtiene una referencia a la Page instancia que contiene el control de servidor.

(Heredado de Control)
Parent

Obtiene una referencia al control primario del control de servidor en la jerarquía de controles de página.

(Heredado de Control)
RenderingCompatibility

Obtiene un valor que especifica la versión de ASP.NET con la que se representará HTML.

(Heredado de Control)
Site

Obtiene información sobre el contenedor que hospeda el control actual cuando se representa en una superficie de diseño.

(Heredado de Control)
SkinID

Obtiene o establece la máscara que se va a aplicar al control.

(Heredado de Control)
TargetControlID

Obtiene o establece el identificador del IDataSource control que se va a usar para la consulta.

TemplateControl

Obtiene o establece una referencia a la plantilla que contiene este control.

(Heredado de Control)
TemplateSourceDirectory

Obtiene el directorio virtual de Page o UserControl que contiene el control de servidor actual.

(Heredado de Control)
UniqueID

Obtiene el identificador único calificado jerárquicamente para el control de servidor.

(Heredado de Control)
ValidateRequestMode

Obtiene o establece un valor que indica si el control comprueba la entrada del cliente desde el explorador para detectar valores potencialmente peligrosos.

(Heredado de Control)
ViewState

Obtiene un diccionario de información de estado que permite guardar y restaurar el estado de vista de un control de servidor en varias solicitudes para la misma página.

(Heredado de Control)
ViewStateIgnoresCase

Obtiene un valor que indica si el StateBag objeto no distingue mayúsculas de minúsculas.

(Heredado de Control)
ViewStateMode

Obtiene o establece el modo de estado de vista de este control.

(Heredado de Control)
Visible

Obtiene o establece un valor que indica si un control de servidor se representa como interfaz de usuario en la página.

(Heredado de Control)

Métodos

Nombre Description
AddedControl(Control, Int32)

Se llama después de agregar un control secundario a la Controls colección del Control objeto .

(Heredado de Control)
AddParsedSubObject(Object)

Notifica al control de servidor que se ha analizado un elemento, ya sea XML o HTML, y agrega el elemento al objeto del control de ControlCollection servidor.

(Heredado de Control)
ApplyStyleSheetSkin(Page)

Aplica las propiedades de estilo definidas en la hoja de estilos de página al control .

(Heredado de Control)
BeginRenderTracing(TextWriter, Object)

Comienza el seguimiento en tiempo de diseño de los datos de representación.

(Heredado de Control)
BuildProfileTree(String, Boolean)

Recopila información sobre el control de servidor y la entrega a la Trace propiedad que se va a mostrar cuando el seguimiento está habilitado para la página.

(Heredado de Control)
ClearCachedClientID()

Establece el valor nullalmacenado en caché en ClientID .

(Heredado de Control)
ClearChildControlState()

Elimina la información de estado de control de los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildState()

Elimina la información de estado de vista y estado de control de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearChildViewState()

Elimina la información de estado de vista de todos los controles secundarios del control de servidor.

(Heredado de Control)
ClearEffectiveClientIDMode()

Establece la ClientIDMode propiedad de la instancia de control actual y de cualquier control secundario en Inherit.

(Heredado de Control)
CreateChildControls()

Llamado por el marco de ASP.NET página para notificar a los controles de servidor que usan la implementación basada en composición para crear los controles secundarios que contengan como preparación para la publicación o representación.

(Heredado de Control)
CreateControlCollection()

Crea un nuevo ControlCollection objeto para contener los controles secundarios (literal y servidor) del control de servidor.

(Heredado de Control)
DataBind()

Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios.

(Heredado de Control)
DataBind(Boolean)

Enlaza un origen de datos al control de servidor invocado y a todos sus controles secundarios con una opción para generar el DataBinding evento.

(Heredado de Control)
DataBindChildren()

Enlaza un origen de datos a los controles secundarios del control de servidor.

(Heredado de Control)
Dispose()

Permite que un control de servidor realice la limpieza final antes de liberarse de la memoria.

(Heredado de Control)
EndRenderTracing(TextWriter, Object)

Finaliza el seguimiento en tiempo de diseño de los datos de representación.

(Heredado de Control)
EnsureChildControls()

Determina si el control de servidor contiene controles secundarios. Si no es así, crea controles secundarios.

(Heredado de Control)
EnsureID()

Crea un identificador para los controles que no tienen asignado un identificador.

(Heredado de Control)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
FindControl(String, Int32)

Busca en el contenedor de nomenclatura actual un control de servidor con el especificado id y un entero, especificado en el pathOffset parámetro , que ayuda en la búsqueda. No debe invalidar esta versión del FindControl método.

(Heredado de Control)
FindControl(String)

Busca en el contenedor de nomenclatura actual un control de servidor con el parámetro especificado id .

(Heredado de Control)
Focus()

Establece el foco de entrada en un control.

(Heredado de Control)
GetDesignModeState()

Obtiene los datos en tiempo de diseño de un control.

(Heredado de Control)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetRouteUrl(Object)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta.

(Heredado de Control)
GetRouteUrl(RouteValueDictionary)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta.

(Heredado de Control)
GetRouteUrl(String, Object)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta.

(Heredado de Control)
GetRouteUrl(String, RouteValueDictionary)

Obtiene la dirección URL que corresponde a un conjunto de parámetros de ruta y un nombre de ruta.

(Heredado de Control)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUniqueIDRelativeTo(Control)

Devuelve la parte prefijo de la UniqueID propiedad del control especificado.

(Heredado de Control)
HasControls()

Determina si el control de servidor contiene controles secundarios.

(Heredado de Control)
HasEvents()

Devuelve un valor que indica si los eventos están registrados para el control o para los controles secundarios.

(Heredado de Control)
IsLiteralContent()

Determina si el control de servidor contiene solo contenido literal.

(Heredado de Control)
LoadControlState(Object)

Restaura la información de estado de control de una solicitud de página anterior guardada por el SaveControlState() método .

(Heredado de Control)
LoadViewState(Object)

Carga el estado de los valores del QueryExtender control que se deben conservar.

MapPathSecure(String)

Recupera la ruta de acceso física a la que se asigna una ruta de acceso virtual, absoluta o relativa.

(Heredado de Control)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnBubbleEvent(Object, EventArgs)

Determina si el evento del control de servidor se pasa a la jerarquía de controles de servidor de interfaz de usuario de la página.

(Heredado de Control)
OnDataBinding(EventArgs)

Genera el evento DataBinding.

(Heredado de Control)
OnInit(EventArgs)

Se produce cuando se inicializa una nueva instancia de la QueryExtender clase .

OnLoad(EventArgs)

Genera el evento Load.

(Heredado de Control)
OnPreRender(EventArgs)

Genera el evento PreRender.

(Heredado de Control)
OnUnload(EventArgs)

Genera el evento Unload.

(Heredado de Control)
OpenFile(String)

Obtiene un objeto Stream que se usa para leer un archivo.

(Heredado de Control)
RaiseBubbleEvent(Object, EventArgs)

Asigna cualquier origen del evento y su información al elemento primario del control.

(Heredado de Control)
RemovedControl(Control)

Se llama después de quitar un control secundario de la Controls colección del Control objeto .

(Heredado de Control)
Render(HtmlTextWriter)

Envía el contenido del control de servidor a un objeto proporcionado HtmlTextWriter , que escribe el contenido que se va a representar en el cliente.

(Heredado de Control)
RenderChildren(HtmlTextWriter)

Genera el contenido de los elementos secundarios de un control de servidor en un objeto proporcionado HtmlTextWriter , que escribe el contenido que se va a representar en el cliente.

(Heredado de Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter mediante un objeto proporcionado ControlAdapter .

(Heredado de Control)
RenderControl(HtmlTextWriter)

Genera contenido de control de servidor en un objeto proporcionado HtmlTextWriter y almacena información de seguimiento sobre el control si el seguimiento está habilitado.

(Heredado de Control)
ResolveAdapter()

Obtiene el adaptador de control responsable de representar el control especificado.

(Heredado de Control)
ResolveClientUrl(String)

Obtiene una dirección URL que el explorador puede usar.

(Heredado de Control)
ResolveUrl(String)

Convierte una dirección URL en una que se pueda usar en el cliente solicitante.

(Heredado de Control)
SaveControlState()

Guarda los cambios de estado de control de servidor que se han producido desde el momento en que se devolvió la página al servidor.

(Heredado de Control)
SaveViewState()

Guarda el estado de vista actual del QueryExtender control.

SetDesignModeState(IDictionary)

Establece los datos en tiempo de diseño de un control.

(Heredado de Control)
SetRenderMethodDelegate(RenderMethod)

Asigna un delegado de controlador de eventos para representar el control de servidor y su contenido en su control primario.

(Heredado de Control)
SetTraceData(Object, Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante el objeto rastreado, la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
SetTraceData(Object, Object)

Establece los datos de seguimiento para el seguimiento en tiempo de diseño de los datos de representación, mediante la clave de datos de seguimiento y el valor de los datos de seguimiento.

(Heredado de Control)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TrackViewState()

Realiza un seguimiento de los cambios de estado de vista del QueryExtender control para que los cambios se puedan almacenar en el StateBag objeto del control.

Eventos

Nombre Description
DataBinding

Se produce cuando el control de servidor se enlaza a un origen de datos.

(Heredado de Control)
Disposed

Se produce cuando se libera un control de servidor de la memoria, que es la última fase del ciclo de vida del control de servidor cuando se solicita una página de ASP.NET.

(Heredado de Control)
Init

Se produce cuando se inicializa el control de servidor, que es el primer paso de su ciclo de vida.

(Heredado de Control)
Load

Se produce cuando el control de servidor se carga en el Page objeto .

(Heredado de Control)
PreRender

Se produce después de cargar el Control objeto, pero antes de la representación.

(Heredado de Control)
Unload

Se produce cuando el control de servidor se descarga de la memoria.

(Heredado de Control)

Implementaciones de interfaz explícitas

Nombre Description
IControlBuilderAccessor.ControlBuilder

Para obtener una descripción de este miembro, vea ControlBuilder.

(Heredado de Control)
IControlDesignerAccessor.GetDesignModeState()

Para obtener una descripción de este miembro, vea GetDesignModeState().

(Heredado de Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para obtener una descripción de este miembro, vea SetDesignModeState(IDictionary).

(Heredado de Control)
IControlDesignerAccessor.SetOwnerControl(Control)

Para obtener una descripción de este miembro, vea SetOwnerControl(Control).

(Heredado de Control)
IControlDesignerAccessor.UserData

Para obtener una descripción de este miembro, vea UserData.

(Heredado de Control)
IDataBindingsAccessor.DataBindings

Para obtener una descripción de este miembro, vea DataBindings.

(Heredado de Control)
IDataBindingsAccessor.HasDataBindings

Para obtener una descripción de este miembro, vea HasDataBindings.

(Heredado de Control)
IExpressionsAccessor.Expressions

Para obtener una descripción de este miembro, vea Expressions.

(Heredado de Control)
IExpressionsAccessor.HasExpressions

Para obtener una descripción de este miembro, vea HasExpressions.

(Heredado de Control)
IParserAccessor.AddParsedSubObject(Object)

Para obtener una descripción de este miembro, vea AddParsedSubObject(Object).

(Heredado de Control)

Métodos de extensión

Nombre Description
FindDataSourceControl(Control)

Devuelve el origen de datos asociado al control de datos para el control especificado.

FindFieldTemplate(Control, String)

Devuelve la plantilla de campo de la columna especificada en el contenedor de nomenclatura del control especificado.

FindMetaTable(Control)

Devuelve el objeto de metatable para el control de datos contenedor.

Se aplica a

Consulte también