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

上記のコード ビハインド コードを使用してドロップダウン リストをロード しましたが、実行時に「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という行で「ddSrc.DataTextField = "Name" 」という問題が発生しました。

わかりやすいように質問を編集しました。

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

暗闇で撮影されましたが、宣言に「new」が必要ということでしょうか?

Dim e As New GridViewUpdateEventArgs 

まだ作成されていない場合、変数を割り当てることはできません。

于 2013-04-23T10:19:27.097 に答える