如何在转发器中绑定gridview?

Ram*_*ngh 4 asp.net gridview repeater

我想绑定在转发器内部的gridview.我的代码是

 <asp:Repeater ID="rep_UnAssignComps" runat="server">

         <ItemTemplate>
            <asp:GridView ID="rep_DataSimilarToBacthid" runat="server" Style="text-align: center;
                width: 375px;" AutoGenerateColumns="false">
                <Columns>
                    <asp:BoundField HeaderText="Test" DataField="Test" />
                </Columns>

            </asp:GridView>

    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

Ram*_*ngh 6

你必须触发转发器的ItemDataBound事件.您必须在其中找到gridview,然后将其绑定如下: -

    If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then


        Dim grd As GridView = TryCast(e.Item.FindControl("rep_DataSimilarToBacthid"), GridView)
        grd.DataSource = dt

        grd.DataBind()
   end if 
Run Code Online (Sandbox Code Playgroud)


Sam*_*ich 5

如果实体whitch为界repeate有necessare数据源(例如实体列表)只需指定到DataSourceGridView与此属性.

<asp:GridView ID="rep_DataSimilarToBacthid" runat="server" Style="text-align: center;
            width: 375px;" AutoGenerateColumns="false" DataSource='<%# Eval("GridDataSource") %>'>
Run Code Online (Sandbox Code Playgroud)

哪里GridDataSource是物品的集合.

您还可以定义将在代码隐藏处指定数据源的方法并将其命名为:

Page.aspx

<asp:GridView ID="rep_DataSimilarToBacthid" runat="server" Style="text-align: center;
            width: 375px;" AutoGenerateColumns="false" DataSource='<%# GetGridViewData(Container.DataItem) %>'>
Run Code Online (Sandbox Code Playgroud)

CodeBehind.cs

public List<GridViewDataItem> GetGridViewData(Object repeaterObject)
{
    // define what you need here
}
Run Code Online (Sandbox Code Playgroud)

另外,检查帖子:

在转发器内绑定gridview

添加嵌套在ASP.NET 2.0中的Repeater中的Gridview

GridView中的转发器在C#ASP.NET 2.0中 - 在您的情况下概念相同

将Repeater的DataRow绑定到GridView的DataSource