Esta página foi útil?
Seus comentários sobre este conteúdo são importantes. Queremos saber sua opinião.
Comentários adicionais?
1500 caracteres restantes
Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe DynamicFilter

.NET Framework 4.6 and 4.5

Exibe a interface do usuário para a filtragem de linhas da tabela usando uma coluna especificada.

System.Object
  System.Web.UI.Control
    System.Web.DynamicData.DynamicFilter

Namespace:  System.Web.DynamicData
Assembly:  System.Web.DynamicData (em System.Web.DynamicData.dll)

public class DynamicFilter : Control, 
	IFilterExpressionProvider
<asp:DynamicFilter />

O tipo DynamicFilter expõe os membros a seguir.

  NomeDescrição
Método públicoDynamicFilter Inicializa uma nova instância da classe DynamicFilter.
Superior

  NomeDescrição
Propriedade protegidaAdapter Obtém as especificações do navegador para o controle. (Herdado de Control.)
Propriedade públicaAppRelativeTemplateSourceDirectoryObtém ou define o diretório virtual relativo do aplicativo da Page ou UserControl o objeto que contém este controle. (Herdado de Control.)
Propriedade públicaBindingContainerInfraestrutura. Obtém o controle que contém a ligação de dados desse controle. (Herdado de Control.)
Propriedade protegidaChildControlsCreatedObtém um valor que indica se os controles de filho do controle de servidor tem sido criados. (Herdado de Control.)
Propriedade públicaClientID Obtém o identificador do controle gerado pelo ASP.NET. (Herdado de Control.)
Propriedade públicaClientIDMode Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID. (Herdado de Control.)
Propriedade protegidaClientIDSeparatorObtém um valor de caracteres que representa o caractere separador usado na ClientID propriedade. (Herdado de Control.)
Propriedade protegidaColumnObtém ou define a coluna da tabela a ser usado para filtragem.
Propriedade protegidaContextObtém o HttpContext objeto associado com o controle de servidor para a solicitação da Web atual. (Herdado de Control.)
Propriedade públicaControlsObtém um ControlCollection o objeto que representa os controles filho de um controle de servidor especificado na hierarquia de interface do usuário. (Herdado de Control.)
Propriedade públicaDataFieldObtém ou define o nome da coluna a ser usado para filtragem de linha de tabela.
Propriedade públicaDataItemContainerObtém uma referência para o contêiner de nomeação se o contêiner de nomeação implementa IDataItemContainer. (Herdado de Control.)
Propriedade públicaDataKeysContainerObtém uma referência para o contêiner de nomeação se o contêiner de nomeação implementa IDataKeysControl. (Herdado de Control.)
Propriedade protegidaDesignModeObtém um valor indicando se um controle está sendo usado em uma superfície de design. (Herdado de Control.)
Propriedade públicaEnableThemingObtém ou define um valor indicando se os temas se aplicam a este controle. (Herdado de Control.)
Propriedade públicaEnableViewStateObtém ou define um valor indicando se o controle servidor persiste o estado de exibição e o estado de exibição de quaisquer controles filho que contém, para o cliente solicitante. (Herdado de Control.)
Propriedade protegidaEventsObtém uma lista de representantes de manipulador de evento para o controle. Esta propriedade é somente leitura. (Herdado de Control.)
Propriedade públicaFilterTemplateObtém o modelo de filtro que está associado com a instância atual deste controle.
Propriedade públicaFilterUIHintObtém ou define o nome do modelo de filtro que é usado para criar a interface do usuário.
Propriedade protegidaHasChildViewStateObtém um valor indicando se os atuais controles filhos do controle do servidor têm quaisquer configurações do estado de visualização salvas. (Herdado de Control.)
Propriedade públicaIDObtém ou define o identificador programático atribuído ao controle de servidor. (Herdado de Control.)
Propriedade protegidaIdSeparatorInfraestrutura. Obtém o caractere usado para separar os identificadores de controle. (Herdado de Control.)
Propriedade protegidaIsChildControlStateClearedObtém um valor que indica se os controles contidos dentro deste controle têm estado de controle. (Herdado de Control.)
Propriedade protegidaIsTrackingViewStateObtém um valor que indica se o controle de servidor está salvando as alterações em seu estado de exibição. (Herdado de Control.)
Propriedade protegidaIsViewStateEnabledObtém um valor indicando se o estado de exibição está ativado para esse controle. (Herdado de Control.)
Propriedade protegidaLoadViewStateByIDObtém um valor indicando se o controle participa carregar seu estado de exibição por ID em vez do índice. (Herdado de Control.)
Propriedade públicaNamingContainerObtém uma referência ao controle de servidor do contêiner de nomeação, que cria um namespace exclusivo para diferenciar entre controles de servidor com o mesmo Control.ID o valor da propriedade. (Herdado de Control.)
Propriedade públicaPageObtém uma referência a Page instância que contém o controle do servidor. (Herdado de Control.)
Propriedade públicaParentObtém uma referência ao controle do pai do controle de servidor na hierarquia de controle da página. (Herdado de Control.)
Propriedade públicaRenderingCompatibilityObtém um valor que especifica a versão do ASP.NET versão processado HTML será compatível com. (Herdado de Control.)
Propriedade públicaSiteObtém informações sobre o recipiente que contém o controle atual quando processado em uma superfície de design. (Herdado de Control.)
Propriedade públicaSkinIDObtém ou define a capa para aplicar ao controle. (Herdado de Control.)
Propriedade públicaTemplateControlObtém ou define uma referência ao modelo que contém este controle. (Herdado de Control.)
Propriedade públicaTemplateSourceDirectoryObtém o diretório virtual da Page ou UserControl que contém o controle do servidor atual. (Herdado de Control.)
Propriedade públicaUniqueIDObtém o identificador exclusivo, hierarquicamente qualificado para o controle do servidor. (Herdado de Control.)
Propriedade públicaValidateRequestModeObtém ou define um valor que indica se o controle verifica a entrada de cliente proveniente do navegador para valores possivelmente perigosos. (Herdado de Control.)
Propriedade protegidaViewState Obtém um dicionário de informações de estado que permite você salvar e restaurar o estado de exibição de um controle de servidor nas várias solicitações para a mesma página. (Herdado de Control.)
Propriedade protegidaViewStateIgnoresCase Obtém um valor que indica se o objeto StateBag distingue maiúsculas e minúsculas. (Herdado de Control.)
Propriedade públicaViewStateModeObtém ou define o modo de estado de exibição deste controle. (Herdado de Control.)
Propriedade públicaVisibleObtém ou define um valor que indica se um controle de servidor é processado como interface do usuário na página. (Herdado de Control.)
Superior

  NomeDescrição
Método protegidoAddedControlChamado depois que um controle filho é adicionado à Controls coleção do objeto Control. (Herdado de Control.)
Método protegidoAddParsedSubObjectNotifica o controle do servidor que um elemento XML ou HTML, foi analisado e adiciona o elemento para a coleção de objetos  ControlCollection do servidor. (Herdado de Control.)
Método públicoApplyStyleSheetSkinAplica as propriedades de estilo definidas na folha de estilo da página para o controle. (Herdado de Control.)
Método protegidoBeginRenderTracingComeça o rastreamento de dados de processamento em tempo de design. (Herdado de Control.)
Método protegidoBuildProfileTreeInfraestrutura. Reúne informações sobre o controle de servidor e enviá-lo para o Trace a propriedade a ser exibida quando o rastreamento está habilitado para a página. (Herdado de Control.)
Método protegidoClearCachedClientIDInfraestrutura. Define o cache ClientID valor para null. (Herdado de Control.)
Método protegidoClearChildControlStateExclui as informações de estado do controle para controles de filho do controle de servidor. (Herdado de Control.)
Método protegidoClearChildStateExclui as informações de estado de exibição e estado do controle para controles filho de todo o controle do servidor. (Herdado de Control.)
Método protegidoClearChildViewStateExclui as informações de estado de exibição para controles filho de todo o controle do servidor. (Herdado de Control.)
Método protegidoClearEffectiveClientIDModeInfraestrutura. Conjuntos de ClientIDMode propriedade da instância do controle atual e de quaisquer controles filho a Inherit. (Herdado de Control.)
Método protegidoCreateChildControls Chamado pela estrutura da página ASP.NET para notificar os controles de servidor que usam implementação baseada em composição para criar os controles filho que eles contêm em preparação para postagem ou processamento. (Herdado de Control.)
Método protegidoCreateControlCollectionCria um novo objeto ControlCollection para armazenar os controles filhos (ambos literal e servidor) do controle do servidor. (Herdado de Control.)
Método públicoDataBind()Vincula uma fonte de dados para o controle de servidor invocado e todos os seus controles filho. (Herdado de Control.)
Método protegidoDataBind(Boolean)Vincula uma fonte de dados para o controle de servidor invocado e todos os seus controles filho com uma opção para aumentar a DataBinding evento. (Herdado de Control.)
Método protegidoDataBindChildrenVincula uma fonte de dados a controles de filho do controle de servidor. (Herdado de Control.)
Método públicoDisposePermite que um controle de servidor executar o final de limpeza antes de ser liberado da memória. (Herdado de Control.)
Método protegidoEndRenderTracingTermina o rastreamento de dados de processamento em tempo de design. (Herdado de Control.)
Método protegidoEnsureChildControlsDetermina se o controle de servidor contém controles filho. Se não existir, ele criará filho controles. (Herdado de Control.)
Método protegidoEnsureIDCria um identificador para controles que não têm um identificador atribuído. (Herdado de Control.)
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegidoFinalize Permite um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoFindControl(String)Procura no controle atual por um controle filho com o id informado. (Herdado de Control.)
Método protegidoFindControl(String, Int32)Infraestrutura. Procura o contêiner de nomeação atual para um controle de servidor com a versão especificada id e um número inteiro, especificado na pathOffset parâmetro, que auxilia na pesquisa. Você não deve substituir esta versão do FindControl método. (Herdado de Control.)
Método públicoFocusDefine o foco para um controle de entrada. (Herdado de Control.)
Método protegidoGetDesignModeStateInfraestrutura. Obtém dados de tempo de design para um controle. (Herdado de Control.)
Método públicoGetHashCodeServe como a função de hash padrão. (Herdado de Object.)
Método públicoGetRouteUrl(Object)Obtém o URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control.)
Método públicoGetRouteUrl(RouteValueDictionary)Obtém o URL que corresponde a um conjunto de parâmetros de rota. (Herdado de Control.)
Método públicoGetRouteUrl(String, Object)Obtém o URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control.)
Método públicoGetRouteUrl(String, RouteValueDictionary)Obtém o URL que corresponde a um conjunto de parâmetros de rota e um nome de rota. (Herdado de Control.)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoGetUniqueIDRelativeToRetorna a parte prefixada da UniqueID a propriedade do controle especificado. (Herdado de Control.)
Método públicoHasControlsDetermina se o controle de servidor contém os controles filho. (Herdado de Control.)
Método protegidoHasEventsRetorna um valor que indica se os eventos são registrados para o controle ou os controles filho. (Herdado de Control.)
Método protegidoIsLiteralContentInfraestrutura. Determina se o controle servidor mantém somente conteúdo literal. (Herdado de Control.)
Método protegidoLoadControlStateRestaura informações de estado do controle de uma solicitação de página anterior que foi salvo pelo SaveControlState método. (Herdado de Control.)
Método protegidoLoadViewStateRestaura informações de estado de exibição de uma solicitação de página anterior que foi salvo pelo SaveViewState método. (Herdado de Control.)
Método protegidoMapPathSecureRecupera o caminho físico que um caminho virtual absoluto ou relativo, mapeia para. (Herdado de Control.)
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método protegidoOnBubbleEventDetermina se o evento para o controle de servidor é passado hierarquia de controle de servidor de interface do usuário da página. (Herdado de Control.)
Método protegidoOnDataBinding Gera o evento DataBinding. (Herdado de Control.)
Método protegidoOnInit Gera o evento Init. (Herdado de Control.)
Método protegidoOnLoad Gera o evento Load. (Herdado de Control.)
Método protegidoOnPreRender Gera o evento PreRender. (Herdado de Control.)
Método protegidoOnUnload Gera o evento Unload. (Herdado de Control.)
Método protegidoOpenFileObtém um Stream usado para ler um arquivo. (Herdado de Control.)
Método protegidoRaiseBubbleEventAtribui quaisquer fontes de evento e suas informações para o pai do controle. (Herdado de Control.)
Método protegidoRemovedControlChamado depois que um controle filho é removido o Controls coleção da Control objeto. (Herdado de Control.)
Método protegidoRenderEnvia o conteúdo do controle de servidor para o HtmlTextWriter objeto. (Substitui Control.Render(HtmlTextWriter).)
Método protegidoRenderChildrenProduz o conteúdo de filhos de um controle do servidor para um fornecido HtmlTextWriter o objeto, que grava o conteúdo a ser processado no cliente. (Herdado de Control.)
Método públicoRenderControl(HtmlTextWriter)Saídas conteúdo de controle do servidor para um fornecido HtmlTextWriter de objeto e armazena informações de rastreamento sobre o controle se o rastreamento está habilitado. (Herdado de Control.)
Método protegidoRenderControl(HtmlTextWriter, ControlAdapter)Saídas conteúdo de controle do servidor para um fornecido HtmlTextWriter de objeto usando um fornecido ControlAdapter objeto. (Herdado de Control.)
Método protegidoResolveAdapterObtém o adaptador de controle responsável por processar o controle especificado. (Herdado de Control.)
Método públicoResolveClientUrlObtém uma URL que pode ser usada pelo navegador. (Herdado de Control.)
Método públicoResolveUrlConverte uma URL em uma que seja utilizável no cliente solicitante. (Herdado de Control.)
Método protegidoSaveControlStateSalva as alterações de estado que ocorreram desde o momento em que a página foi postada de volta para o servidor de qualquer controle de servidor. (Herdado de Control.)
Método protegidoSaveViewStateSalva quaisquer alterações no viewstate de um controle de servidor que ocorreram apos o último postback da página. (Herdado de Control.)
Método protegidoSetDesignModeStateDefine dados em tempo de design para um controle. (Herdado de Control.)
Método públicoSetRenderMethodDelegateInfraestrutura. Atribui um delegado manipulador de eventos para processar o controle de servidor e seu conteúdo em um controle pai. (Herdado de Control.)
Método públicoSetTraceData(Object, Object)Conjuntos de dados em tempo de design de rastreamento de dados de processamento, usando a chave de dados de rastreamento e o valor de dados de rastreamento de rastreamento. (Herdado de Control.)
Método públicoSetTraceData(Object, Object, Object)Conjuntos de dados em tempo de design de rastreamento de dados de processamento, usando o objeto de traçado, a chave de dados de rastreamento e o valor de dados de rastreamento de rastreamento. (Herdado de Control.)
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Método protegidoTrackViewStateFaz com que o controle de alterações de estado de exibição para o controle de servidor para que eles podem ser armazenados no controle do servidor StateBag objeto. Este objeto é acessado através do Control.ViewState propriedade. (Herdado de Control.)
Superior

  NomeDescrição
Evento públicoDataBindingOcorre quando o server control vincula a uma fonte de dados. (Herdado de Control.)
Evento públicoDisposedOcorre quando um server control é liberado da memória, que é a última etapa do ciclo de vida do server contorl quando uma página ASP.NET é solicitada. (Herdado de Control.)
Evento públicoFilterChangedOcorre quando o usuário seleciona um valor para a chave externa.
Evento públicoInitOcorre quando o server control é inicializado, que é o primeiro passo em seu ciclo de vida. (Herdado de Control.)
Evento públicoLoad

Ocorre quando o controle de servidor é carregado no objeto Page.

(Herdado de Control.)
Evento públicoPreRenderOcorre após o objeto Control ser carregado, mas antes da sua renderização. (Herdado de Control.)
Evento públicoUnloadOcorre quando o server control é descarregado da memória. (Herdado de Control.)
Superior

  NomeDescrição
Método de extensão públicoFindDataSourceControlRetorna a fonte de dados que está associada com o controle de dados para o controle especificado. (Definido por DynamicDataExtensions.)
Método de extensão públicoFindFieldTemplateRetorna que o modelo de campo da coluna especificada no controle especificado do contêiner de nomeação. (Definido por DynamicDataExtensions.)
Método de extensão públicoFindMetaTableRetorna o objeto metatable contendo o controle de dados. (Definido por DynamicDataExtensions.)
Superior

  NomeDescrição
Implementação explícita da interfacePropriedade particularIControlBuilderAccessor.ControlBuilderPara obter uma descrição desse membro, consulte IControlBuilderAccessor.ControlBuilder. (Herdado de Control.)
Implementação explícita da interfaceMétodo particularIControlDesignerAccessor.GetDesignModeStatePara obter uma descrição desse membro, consulte IControlDesignerAccessor.GetDesignModeState. (Herdado de Control.)
Implementação explícita da interfaceMétodo particularIControlDesignerAccessor.SetDesignModeStatePara obter uma descrição desse membro, consulte IControlDesignerAccessor.SetDesignModeState. (Herdado de Control.)
Implementação explícita da interfaceMétodo particularIControlDesignerAccessor.SetOwnerControlInfraestrutura. Para obter uma descrição desse membro, consulte IControlDesignerAccessor.SetOwnerControl. (Herdado de Control.)
Implementação explícita da interfacePropriedade particularIControlDesignerAccessor.UserDataPara obter uma descrição desse membro, consulte IControlDesignerAccessor.UserData. (Herdado de Control.)
Implementação explícita da interfacePropriedade particularIDataBindingsAccessor.DataBindingsPara obter uma descrição desse membro, consulte IDataBindingsAccessor.DataBindings. (Herdado de Control.)
Implementação explícita da interfacePropriedade particularIDataBindingsAccessor.HasDataBindingsPara obter uma descrição desse membro, consulte IDataBindingsAccessor.HasDataBindings. (Herdado de Control.)
Implementação explícita da interfacePropriedade particularIExpressionsAccessor.ExpressionsPara obter uma descrição desse membro, consulte IExpressionsAccessor.Expressions. (Herdado de Control.)
Implementação explícita da interfacePropriedade particularIExpressionsAccessor.HasExpressionsPara obter uma descrição desse membro, consulte IExpressionsAccessor.HasExpressions. (Herdado de Control.)
Implementação explícita da interfaceMétodo particularIFilterExpressionProvider.GetQueryableInfraestrutura. Obtém a consulta modificada usando o valor atual do filtro.
Implementação explícita da interfaceMétodo particularIFilterExpressionProvider.InitializeInfraestrutura. Inicializa uma nova instância da classe DynamicFilter.
Implementação explícita da interfaceMétodo particularIParserAccessor.AddParsedSubObjectPara obter uma descrição desse membro, consulte IParserAccessor.AddParsedSubObject. (Herdado de Control.)
Superior

Neste tópico:

Introdução

O DynamicFilter controle é usado em uma marcação de página para gerar a interface do usuário para a filtragem de linhas da tabela. Dados dinâmicos criam a interface do usuário, usando os modelos de filtro padrão que estão na pasta ~\DynamicData\Filters. Esses modelos oferecem suporte a tipos de coluna de chave externa, Boolean e enumeração.

A tabela a seguir mostra algumas das tarefas que pode ser executadas.

Cenário

Descrição

Especifique a coluna a ser usado para filtragem de linha de tabela.

Use a propriedade DataField para especificar a coluna a ser usado para filtragem de linha de tabela.

Especifique o nome do modelo de filtro para usar para criar a interface do usuário.

Use a propriedade FilterUIHint para especificar o nome do modelo de filtro para usar para criar a interface do usuário.

Realizar operações personalizadas antes que a interface do usuário seja processada.

Use o FilterChanged para realizar operações personalizadas antes que a interface do usuário seja processada.

Você pode especificar o modelo de filtro a ser usado das seguintes maneiras:

  • Usando o FilterUIHint propriedade na marcação da página. Essa abordagem é uma personalização de camada de apresentação, que é independente do esquema (banco de dados) e que se aplica a uma única página.

  • Usando o FilterUIHintAttribute atributo no modelo. Essa abordagem é uma personalização de camada de dados, que varia de acordo com o esquema específico (banco de dados) e que se aplica a todo o aplicativo.

Se você usar ambas as abordagens, o modelo de filtro que é especificado na marcação prevalece sobre o modelo que está especificado no modelo de dados.

Contexto de classe

O DynamicFilter controle foi projetado para trabalhar com o QueryExtender controle. O DynamicFilter controle é referenciado por um DynamicFilterExpression da instância dentro de um QueryExtender objeto na marcação da página.

A figura a seguir mostra as etapas a seguir de dados dinâmicos para implementar a filtragem por uma coluna de chave externa de linha da tabela.

Dynamic Data Query Elements
  1. O DynamicFilter controle passa o valor selecionado para o QueryExtender controle.

  2. O QueryExtender controle usa o valor para criar a consulta de informações de filtragem. Em seguida, ele passa essas informações para o controle de fonte de dados.

  3. O controle da fonte de dados passa as informações de consulta de filtragem para o provedor de origem de dados.

  4. O provedor de origem de dados passa a consulta ao banco de dados.

  5. O banco de dados retorna as linhas da tabela filtrado.

  6. O provedor de dados de origem envia esses dados de volta para o controle da fonte de dados.

  7. O controle da fonte de dados passa as linhas da tabela filtrada para o controle ligado a dados para exibição.

Sintaxe declarativa

<asp:DynamicFilter
    ID="Control ID"
    DataField="Name of the data field to use for filtering"
    EnableViewState="True|False" 
    FilterUIHint="Name of the filter template to generate the UI"
    OnFilterChanged="Filter changed event handler"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler" 
    Visible="True|False"
    runat="server"/>

Um projeto de Visual Studio com código-fonte está disponível neste local: Download de.

Os exemplos seguintes usam o modelo de filtro de ForeignKey.ascx padrão para criar a interface do usuário para filtrar as linhas da tabela produtos pela coluna de chave externa ProductCategory. Quando o usuário seleciona um valor de ProductCategory, somente as linhas que contêm esse valor são exibidas.

O exemplo requer o seguinte:

  • Um site da Web dinâmico de dados ou um aplicativo da Web dinâmico de dados. Isso permite que você crie o AdventureWorksLTDataContext o contexto de dados para o banco de dados e para criar as classes para as tabelas acessar. Para obter mais informações, consulte Walkthrough: Creating a New Dynamic Data Web Site using Scaffolding.


<%@ Page Language="VB" MasterPageFile="~/Site.master" 
AutoEventWireup="true" CodeFile="DynamicFilter.aspx.vb" 
Inherits="ForeignKeyFilter" %>

<%@ Register src="~/DynamicData/Content/GridViewPager.ascx" tagname="GridViewPager" tagprefix="asp" %>

<asp:Content ID="headContent" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true" />

    <h2 class="DDSubHeader"><%= table.DisplayName%> ForeignKey filter</h2>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
                EnableClientScript="true"
                HeaderText="List of validation errors" />
            <asp:DynamicValidator runat="server" ID="GridViewValidator" 
                ControlToValidate="GridView1" Display="None" />

            <!-- Show that the filter selection 
                is retained after a post-back -->
            <asp:Button ID="Button1" runat="server" Text="Cause Postback" /> &nbsp; &nbsp;
            <span></span>The filter selection is retained after a postback.</span> 

            <br />

            <!-- Set the DynamicFilter control attributes. --> 
            Select Category: <asp:DynamicFilter runat="server" ID="CategoryFilter" 
            DataField="ProductCategory" FilterUIHint="ForeignKey" 
            OnFilterChanged="OnFilterSelectedIndexChanged" /><br />

            <!-- Data-bound control that shows the filtered table rows. -->
            <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" 
                EnablePersistedSelection="true" PageSize="5" 
                AllowPaging="True" AllowSorting="True" CssClass="DDGridView">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
                                CausesValidation="true" Text="Delete"
                                OnClientClick='return confirm("Are you sure you want to delete this item?");'
                            />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>

                <PagerStyle CssClass="footer"/>        
                <PagerTemplate>
                    <asp:GridViewPager ID="GridViewPager1" runat="server" />
                </PagerTemplate>
                <EmptyDataTemplate>
                    There are currently no items in this table.
                </EmptyDataTemplate>
            </asp:GridView>

            <!-- The provider that connects to the database -->
            <asp:LinqDataSource ID="GridDataSource" runat="server" 
                EnableDelete="true" 
                ContextTypeName="AdventureWorksLTDataContext"
                TableName="Products">
            </asp:LinqDataSource>

            <!-- The control that handles the details for querying 
            the database, after a user's filtering action -->
            <asp:QueryExtender ID="QueryBlock1" TargetControlID="GridDataSource" 
                runat="server">
                <asp:DynamicFilterExpression ControlID="CategoryFilter" />
            </asp:QueryExtender>

        </ContentTemplate>
    </asp:UpdatePanel>

</asp:Content>



<%@ Page Language="C#" MasterPageFile="~/Site.master" 
    CodeFile="DynamicFilter.aspx.cs" Inherits="ForeignKeyFilter" %>

<%@ Register src="~/DynamicData/Content/GridViewPager.ascx" tagname="GridViewPager" tagprefix="asp" %>

<asp:Content ID="headContent" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true" />

    <h2 class="DDSubHeader"><%= table.DisplayName%> ForeignKey filter</h2>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
                EnableClientScript="true"
                HeaderText="List of validation errors" />
            <asp:DynamicValidator runat="server" ID="GridViewValidator" 
                ControlToValidate="GridView1" Display="None" />

            <!-- Show that the filter selection 
                is retained after a post-back -->
            <asp:Button ID="Button1" runat="server" Text="Cause Postback" /> &nbsp; &nbsp;
            <span></span>The filter selection is retained after a postback.</span> 

            <br />

            <!-- Set the DynamicFilter control attributes. --> 
            Select Category: <asp:DynamicFilter runat="server" ID="CategoryFilter" 
            DataField="ProductCategory" FilterUIHint="ForeignKey" 
            OnFilterChanged="OnFilterSelectedIndexChanged" /><br />

            <!-- Data-bound control that shows the filtered table rows. -->
            <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" 
                EnablePersistedSelection="true" PageSize="5" 
                AllowPaging="True" AllowSorting="True" CssClass="DDGridView">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
                                CausesValidation="true" Text="Delete"
                                OnClientClick='return confirm("Are you sure you want to delete this item?");'
                            />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>

                <PagerStyle CssClass="footer"/>        
                <PagerTemplate>
                    <asp:GridViewPager runat="server" />
                </PagerTemplate>
                <EmptyDataTemplate>
                    There are currently no items in this table.
                </EmptyDataTemplate>
            </asp:GridView>

            <!-- The provider that connects to the database -->
            <asp:LinqDataSource ID="GridDataSource" runat="server" 
                EnableDelete="true" 
                ContextTypeName="AdventureWorksLTDataContext"
                TableName="Products">
            </asp:LinqDataSource>

            <!-- The control that handles the details for querying 
            the database, after a user's filtering action -->
            <asp:QueryExtender ID="QueryBlock1" TargetControlID="GridDataSource" 
                runat="server">
                <asp:DynamicFilterExpression ControlID="CategoryFilter" />
            </asp:QueryExtender>

        </ContentTemplate>
    </asp:UpdatePanel>

</asp:Content>



Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Linq
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Xml.Linq
Imports System.Web.DynamicData


Partial Public Class ForeignKeyFilter
    Inherits System.Web.UI.Page
    Protected table As MetaTable

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs)
        'setSelectionFromUrl
        DynamicDataManager1.RegisterControl(GridView1, True)
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        table = GridDataSource.GetTable()
        Title = table.DisplayName

        ' Disable various options if the table is readonly
        If table.IsReadOnly Then
            GridView1.Columns(0).Visible = False
        End If
    End Sub

    ' Handle the filter change event.
    Protected Sub OnFilterSelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        ' Reset the index of the page to display after 
        ' the data filter value has been changed.
        GridView1.PageIndex = 0

    End Sub

End Class



using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;


    public partial class ForeignKeyFilter : System.Web.UI.Page {
        protected MetaTable table;

        protected void Page_Init(object sender, EventArgs e) {
            DynamicDataManager1.RegisterControl(GridView1, 
                true /* setSelectionFromUrl */);
        }

        protected void Page_Load(object sender, EventArgs e) {
            table = GridDataSource.GetTable();
            Title = table.DisplayName;

            // Disable various options if the table is readonly
            if (table.IsReadOnly) {
                GridView1.Columns[0].Visible = false;
            }
        }


        // Handle the filter change event.
        protected void OnFilterSelectedIndexChanged(object sender, EventArgs e) {
            // Reset the index of the page to display after 
            // the data filter value has been changed.
            GridView1.PageIndex = 0;

        }

    }


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft