CustomExpression Classe

Definição

Fornece uma maneira de especificar uma consulta LINQ personalizada que é chamada em resposta a um evento.

public ref class CustomExpression : System::Web::UI::WebControls::Expressions::ParameterDataSourceExpression
public class CustomExpression : System.Web.UI.WebControls.Expressions.ParameterDataSourceExpression
type CustomExpression = class
    inherit ParameterDataSourceExpression
Public Class CustomExpression
Inherits ParameterDataSourceExpression
Herança

Exemplos

O exemplo a seguir mostra como criar um CustomExpression objeto usado pelo QueryExtender controle . A expressão personalizada chama o FilterProducts método , que contém uma expressão LINQ personalizada. O resultado da operação de filtragem é exibido em um GridView controle .

O exemplo a seguir mostra um manipulador de eventos que contém uma consulta LINQ personalizada. A expressão filtra a tabela Product no banco de dados AdventureWorks e exibe produtos que têm um preço de lista maior ou igual a US$ 3.500,00.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.Expressions;
using System.Linq;

public partial class _Default : System.Web.UI.Page 
{
    protected void FilterProducts(object sender, CustomExpressionEventArgs e)
    {
        e.Query = from p in e.Query.Cast<Product>()
                  where p.ListPrice >= 3500
                  select p;
    }
}
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.Expressions
Imports System.Data.Linq

Partial Class CustomVB
    Inherits System.Web.UI.Page

    Protected Sub FilterProducts(ByVal sender As Object, ByVal e As CustomExpressionEventArgs)
        e.Query = From p In e.Query.Cast(Of Product)() _
            Where p.ListPrice >= 3500 _
            Select p
    End Sub

Comentários

A CustomExpression classe é usada com o QueryExtender controle . O QueryExtender controle dá suporte a uma variedade de opções que você pode usar para filtrar dados. O QueryExtender controle dá suporte a filtros que permitem pesquisar cadeias de caracteres, pesquisar valores entre um intervalo especificado, comparar um valor de propriedade em uma tabela com um valor especificado e classificar dados. Essas opções são fornecidas como expressões LINQ no QueryExtender controle . Você pode usar essas expressões de filtro ou pode fornecer uma expressão personalizada que pode ser usada no QueryExtender controle . A CustomExpression classe permite que você especifique uma expressão personalizada em seu aplicativo e chame-a em um manipulador de eventos.

Observação

Você pode fornecer uma consulta personalizada que é chamada por um método em vez de um manipulador de eventos usando a MethodExpression classe .

Construtores

CustomExpression()

Inicializa uma nova instância da classe CustomExpression.

Propriedades

Context

Obtém a instância HttpContext do controle de proprietário.

(Herdado de DataSourceExpression)
DataSource

Obtém o objeto de fonte de dados associado ao controle de proprietário.

(Herdado de DataSourceExpression)
IsTrackingViewState

Obtém um valor que indica se um objeto de expressão da fonte de dados está controlando suas alterações de estado de exibição.

(Herdado de DataSourceExpression)
Owner

Obtém o controle de proprietário.

(Herdado de DataSourceExpression)
Parameters

Obtém os parâmetros associados a este objeto DataSourceExpression.

(Herdado de ParameterDataSourceExpression)
ViewState

Obtém uma instância da classe StateBag que contém informações atuais de estado de exibição.

(Herdado de DataSourceExpression)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetQueryable(IQueryable)

Fornece acesso ao objeto IQueryable modificado usado pela fonte de dados.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadViewState(Object)

Carrega o estado dos valores no objeto ParameterDataSourceExpression que deve ser persistente.

(Herdado de ParameterDataSourceExpression)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
SaveViewState()

Salva o estado de exibição atual do objeto ParameterDataSourceExpression.

(Herdado de ParameterDataSourceExpression)
SetContext(Control, HttpContext, IQueryableDataSource)

Executa a expressão usando o controle de proprietário, o contexto e a fonte de dados especificados.

(Herdado de ParameterDataSourceExpression)
SetDirty()

Marca o objeto DataSourceExpression para que seu estado seja salvo no estado de exibição.

(Herdado de DataSourceExpression)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Controla as alterações de estado de exibição no objeto ParameterDataSourceExpression de modo as alterações possam ser armazenadas no objeto StateBag para o objeto.

(Herdado de ParameterDataSourceExpression)

Eventos

Querying

Ocorre quando o valor da fonte de dados IQueryable é definido.

Implantações explícitas de interface

IStateManager.IsTrackingViewState

Quando implementado por uma classe, obtém um valor que indica se um objeto de expressão da fonte de dados está controlando suas alterações de estado de exibição.

(Herdado de DataSourceExpression)
IStateManager.LoadViewState(Object)

Quando implementado por uma classe, carrega o estado de exibição salvo anteriormente do objeto de expressão da fonte de dados.

(Herdado de DataSourceExpression)
IStateManager.SaveViewState()

Quando implementado por uma classe, salva o estado de exibição atual do objeto DataSourceExpression.

(Herdado de DataSourceExpression)
IStateManager.TrackViewState()

Quando implementado por uma classe, controla as alterações de estado de exibição do objeto DataSourceExpression, de modo que as alterações possam ser armazenadas no objeto StateBag para o objeto de expressão da fonte de dados.

(Herdado de DataSourceExpression)

Aplica-se a

Confira também