1

我想在我的 GridView 的页脚上显示下拉列表。

    aspx code:
 <FooterTemplate>                                                      
 <asp:DropDownList ID="ddSrc" runat="server">    
 </asp:DropDownList>                                                   
 </FooterTemplate>



 'VB Code
         Protected Sub gvID_RowDataBound(sender As Object, e As GridViewRowEventArgs)
             If e.Row.RowType = DataControlRowType.DataRow Then
                 If e.Row.DataItem IsNot Nothing Then
                    Dim ddSrc As DropDownList = DirectCast(e.Row.FindControl("ddSrc"), DropDownList)      
                        If ddSrc IsNot Nothing Then
                             ddSrc.DataTextField = "Name"
                             ddSrc.DataValueField = "Id"
                             ddSrc.DataSource = GetData()
                             ddSrc.DataBind()
                        End If
                 End If
             End If
         End Sub

我在用于加载我的下拉列表的代码后面使用了上面的代码,但是在运行时遇到了诸如 对象引用未设置为对象的实例”之类的问题。

我已经编辑了我的问题以便于理解。

4

2 回答 2

2

您需要在网格视图的 RowDataBound 事件上加载下拉列表

Protected Sub gvID_RowDataBound(sender As Object, e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.Footer Then
        If e.Row.DataItem IsNot Nothing Then
           Dim ddSrc As DropDownList = DirectCast(e.Row.FindControl("ddSrc"), DropDownList)      
               If ddSrc IsNot Nothing Then
                    ddSrc.DataTextField = "Name"
                    ddSrc.DataValueField = "Id"
                    ddSrc.DataSource = GetData()
                    ddSrc.DataBind()
               End If
        End If
    End If
End Sub
于 2013-04-23T10:21:56.417 回答
1

在黑暗中拍摄,但这是否意味着它需要声明中的“新”?

Dim e As New GridViewUpdateEventArgs 

如果尚未创建,您将无法为其分配变量。

于 2013-04-23T10:19:27.097 回答