Repeater控件中的嵌套Gridview

时间:2009-03-09 04:57:39

标签: asp.net gridview nested repeater

我有一个嵌套在转发器控件中的gridview控件。


转发器控件在pageload和itemdatabound事件中进行数据绑定 我寻找gridview控件

如果e.Item.ItemType = ListItemType.Item那么     Dim gvw As GridView = DirectCast(e.Item.Controls(3),GridView)     gvw.DataSource = GetData()     gvw.DataBind() 结束如果

发生这一切后,我的页面显示转发器控件数据 和网格视图中的数据,但问题是只有替代网格视图有数据 即,在转发器控制中的行1,3,5 ......具有数据绑定的网格 但是行2,4,6 ......不显示数据

标记 - 只是一个例子

<repeater>
<itemtemplate>
<table>
<tr>
<td>
<gridview />
</td>
</tr>
<tr>
<td>
<label Text='<%# Eval("some_data") %>'
</td>
</tr>
</table>
</itemtemplate>
</repeater>

再次上面的标记只是一个例子,它是完整的

我认为我做错了。

1 个答案:

答案 0 :(得分:2)

在您的代码中

If e.Item.ItemType = ListItemType.Item Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If

你应该添加一个“OR”子句来检查ItemType是否也是一个AlternateItem

If e.Item.ItemType = ListItemType.Item OR e.Item.ItemType = ListItemType.AlternateItem Then Dim gvw As GridView = DirectCast(e.Item.Controls(3), GridView) gvw.DataSource = GetData() gvw.DataBind() End If