0

グリッドビュー内のテンプレート列である radiobuttonlist の選択値を設定しようとしています。データ (ステータス) を含むデータベース フィールドに null 値が含まれているため、コード ビハインドを使用してこれを行う必要があるため、asp 側で SelectedValue='<%# Bind("Status") %>' を使用できません。

onRowDataBound を使用してこれを行い、DataItem を使用してデータソースから値を取得し、それを使用して radiobuttonlist の選択した値を設定することが提案されていますが、vb コードでこれを行う方法がわかりません。

私は次のことを試しました:

Protected Sub gv_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim radioList = TryCast(e.Row.FindControl("rblActions"), RadioButtonList)

        ' this will be the object that you are binding to the grid
        Dim myObject = TryCast(e.Row.DataItem, DataRowView)
        Dim sStatus As String = Convert.ToString(myObject("Status"))

        If sStatus <> Nothing Then

            radioList.SelectedValue = sStatus
        End If

    End If
End Sub

しかし、それはうまくいきません。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

0

次のように私自身の解決策を見つけました:

Sub gv_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)

    If e.Row.RowType = DataControlRowType.DataRow Then

        Dim rbl As RadioButtonList = CType(e.Row.FindControl("rblActions"), RadioButtonList)

        Dim selected As String = e.Row.DataItem("Status").ToString

        If Not IsNothing(selected) Then
            rbl.SelectedValue = selected
        End If

    End If
End Sub
于 2013-09-04T13:35:08.630 に答える