Share via


FilterRepeater controle de servidor Web Declarative sintaxe

The FilterRepeater controle faz parte da estrutura de dados dinâmicos do ASP.NET. O controle é usado em dados dinâmicos para exibir uma lista de filtros de chave externa e filtros de coluna booliano para uma tabela individual no modelo de dados.

<asp:FilterRepeater
        ContextTypeName="string"
    DataMember="string"
    DataSource="string"
    DataSourceID="string"
        DynamicFilterContainerId="string"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCommand="ItemCommand event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
        TableName="string"
    Visible="True|False"
>
        <AlternatingItemTemplate>
            <!-- child controls -->
        </AlternatingItemTemplate>
        <FooterTemplate>
            <!-- child controls -->
        </FooterTemplate>
        <HeaderTemplate>
            <!-- child controls -->
        </HeaderTemplate>
        <ItemTemplate>
            <!-- child controls -->
        </ItemTemplate>
        <SeparatorTemplate>
            <!-- child controls -->
        </SeparatorTemplate>
</asp:FilterRepeater>

Comentários

The FilterRepeater controle itera sobre cada coluna de chave externa e booliano coluna em uma tabela que está habilitada para dados dinâmicos e cria um ItemTemplate objeto para cada um. Por padrão, dados dinâmicos usará a primeira seqüência de caracteres de campo da tabela está relacionado por meio de chave estrangeira na ordem representam o valor de chave estrangeira. Você pode substituir o campo que é exibido, definindo o DisplayColumnAttribute valor para a tabela de chave externa no modelo de dados.

The FilterRepeater controle é usado em modelos de página de lista e ListDetails.

Exemplo

O exemplo a seguir mostra como usar o FilterRepeater controle para criar uma lista suspensa para cada campo booliano e chave externa na tabela exibida.

<%@ Page Language="VB" MasterPageFile="~/Site.master" %>

<%@ Register src="GridViewPager.ascx" tagname="GridViewPager" tagprefix="asp" %>
<%@ Register src="FilterUserControl.ascx" tagname="DynamicFilter" tagprefix="asp" %>

<script runat="server">

    Protected table As MetaTable

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

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        table = GridDataSource.GetTable
        Title = table.DisplayName
        If table.IsReadOnly Then
            GridView1.Columns.RemoveAt(0)
        End If
    End Sub

    Protected Sub OnFilterSelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        GridView1.PageIndex = 0
    End Sub

</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />

    <asp:FilterRepeater ID="FilterRepeater" runat="server">
        <ItemTemplate>
            <asp:Label runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
            <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
        </ItemTemplate>
        <FooterTemplate><br /><br /></FooterTemplate>
    </asp:FilterRepeater>

    <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource"
        AllowPaging="True" AllowSorting="True" CssClass="gridview">

    </asp:GridView>

    <asp:LinqDataSource ID="GridDataSource" runat="server" EnableDelete="true">
        <WhereParameters>
            <asp:DynamicControlParameter ControlID="FilterRepeater" />
        </WhereParameters>
    </asp:LinqDataSource>


</asp:Content>
<%@ Page Language="C#" MasterPageFile="~/Site.master" %>

<%@ Register Src="FilterUserControl.ascx" TagName="DynamicFilter" TagPrefix="asp" %>

<script runat="server">

    protected MetaTable table;

    protected void Page_Init(object sender, EventArgs e) {
        DynamicDataManager1.RegisterControl(GridView1);

    }

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

        if (table.IsReadOnly) {
            GridView1.Columns.RemoveAt(0);
        }
    }

    protected void OnFilterSelectedIndexChanged(object sender, EventArgs e) {
        GridView1.PageIndex = 0;
    }

</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" 
        AutoLoadForeignKeys="true" />

    <asp:FilterRepeater ID="FilterRepeater" runat="server">
        <ItemTemplate>
            <asp:Label ID="Label1" runat="server" Text='<%# Eval("DisplayName") %>' AssociatedControlID="DynamicFilter$DropDownList1" />
            <asp:DynamicFilter runat="server" ID="DynamicFilter" OnSelectedIndexChanged="OnFilterSelectedIndexChanged" />
        </ItemTemplate>
    </asp:FilterRepeater>

    <asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" AllowPaging="True"
        AllowSorting="True" CssClass="gridview">
    </asp:GridView>

    <asp:LinqDataSource ID="GridDataSource" runat="server" EnableDelete="true">
        <WhereParameters>
            <asp:DynamicControlParameter ControlId="FilterRepeater" />
        </WhereParameters>
    </asp:LinqDataSource>

</asp:Content>

Consulte também

Tarefas

Demonstra Passo a passo: Criando um novo dinâmico dados site usando a estrutura

Referência

FilterRepeater