如何在中继器内绑定gridview?

发布于 2024-12-04 12:46:19 字数 542 浏览 4 评论 0原文

我想绑定中继器内的 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>

I want to bind gridview which is inside a repeater. My code is

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱你是孤单的心事 2024-12-11 12:46:19

您必须触发中继器的 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 

you have to fire repeater's ItemDataBound event. In which you have to find gridview then bind it as following:-

    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 
烏雲後面有陽光 2024-12-11 12:46:19

如果您的实体绑定到重复数据源(例如实体列表),只需使用此属性指定 GridViewDataSource 即可。

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

其中 GridDataSource 是项目集合。

您还可以定义方法,该方法将在代码隐藏处指定数据源并调用它:

Page.aspx

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

CodeBehind.cs

public List<GridViewDataItem> GetGridViewData(Object repeaterObject)
{
    // define what you need here
}

另外,请检查帖子:

在转发器内绑定gridview

在 ASP.NET 2.0 中添加嵌套在 Repeater 中的 Gridview< /a>

C# 中 Gridview 中的重复器ASP.NET 2.0 - 概念与您的情况相同

将Repeater的DataRow绑定到GridView的DataSource

If your entity whitch is bounded to the repeate have necessare data source (list of entities for example) just specify to the DataSource of the GridView with this property.

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

where GridDataSource is collection of items.

Also you can define the method witch will specify the datasource at the codebehind and call it:

Page.aspx

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

CodeBehind.cs

public List<GridViewDataItem> GetGridViewData(Object repeaterObject)
{
    // define what you need here
}

Also, check the posts:

Binding gridview inside a repeater

Adding Gridview nested in Repeater in ASP.NET 2.0

Repeater within Gridview in C# ASP.NET 2.0 - the concept the same in your case

Bind Repeater's DataRow to GridView's DataSource

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文