我有一个带有gridview1的页面,其中只有ItemTemplate的一列。在我的gridview1的这个ItemTemplate中,我有一个gridview2。我没有关于gridview1的问题。在后面的代码中,我通常填充它:
gridview1.DataSource = DaoUser.findAll();
gridview1.DataBind();
并正确创建了gridview1。但是,当我尝试使用gridview2做同样的事情时,我收到一条消息错误:
gridview2.DataSource = DaoUser.findAll();
gridview2.DataBind();
名称“ gridview2”在当前上下文中不存在
我的aspx代码:
<asp:GridView runat="server" ID="gridview1">
<colums>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView runat="server" ID="gridview2">
</asp:Gridview>
</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:GridView>
您需要做的是使用GridView1_RowDataBound事件在该行中找到控件,因为您将在每一行中都有一个网格视图(这在VB中):
Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowState = DataControlRowState.Normal And e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpGridView As GridView = e.Row.FindControl("GridView2")
If Not tmpGridView Is Nothing Then
tmpGridView.DataSource = DaoUser.findAll
tmpGridView.DataBind()
End If
End If
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句