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)
你必须触发转发器的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)
如果实体whitch为界repeate有necessare数据源(例如实体列表)只需指定到DataSource的GridView与此属性.
<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)
另外,检查帖子:
添加嵌套在ASP.NET 2.0中的Repeater中的Gridview
GridView中的转发器在C#ASP.NET 2.0中 - 在您的情况下概念相同
将Repeater的DataRow绑定到GridView的DataSource