FilterRepeater Web Server Control Declarative Syntax

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

The FilterRepeater control is part of the ASP.NET Dynamic Data framework. The control is used in Dynamic Data to display a list of foreign-key filters and Boolean column filters for an individual table in the data model.

<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>

Remarks

The FilterRepeater control iterates over each foreign-key column and Boolean column in a table that is enabled for Dynamic Data and creates an ItemTemplate object for each. By default, Dynamic Data will use the first string field from the table that is related through the foreign key in order represent the foreign-key value. You can override the field that is displayed by setting the DisplayColumnAttribute value for the foreign-key table in the data model.

The FilterRepeater control is used in the List and ListDetails page templates.

Example

The following example shows how to use the FilterRepeater control to create a drop-down list for each Boolean and foreign-key field in the displayed table.

<%@ 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>

See Also

Tasks

Walkthrough: Creating a New Dynamic Data Web Site Using Scaffolding

Reference

FilterRepeater