Снимите все флажки в Gridview при выборе одного в vb.net

У меня есть DataGridView, связанный с базой данных Oracle с флажком столбца. Идея состоит в том, что, когда я выбираю один флажок, остальные автоматически снимают флажок или находят способ проверить, что выбран только один флажок при нажатии кнопки "Подтвердить". Я могу получить индекс и значения строки флажка, но не могу установить значения для флажков.

Это код, который я использую для получения

Private Function GetSelectedRow() As Integer()
    Dim Array As Integer() = {0, 0}
    Dim index As Integer
    Dim id_propuesta As Integer
    For i As Integer = 0 To GridView3.Rows.Count - 1
        Dim cb As CheckBox = DirectCast(GridView3.Rows(i).Cells(0).FindControl("CheckBox1"), CheckBox)
        If cb IsNot Nothing Then
            If cb.Checked Then
                Dim hf As HiddenField = DirectCast(GridView3.Rows(i).Cells(0).FindControl("HiddenField1"), HiddenField)
                If hf IsNot Nothing Then
                    id_propuesta = hf.Value
                    index = i
                End If
                Exit For
            End If
        End If
    Next
    Array(0) = index
    Array(1) = id_propuesta

    Return Array
End Function

1 ответ

Почему бы просто не сгруппировать переключатели в групповом поле?? Разве это не работает лучше, хотя? Для чего предназначено это утверждение Dim cb As CheckBox = DirectCast(GridView3.Rows(i).Cells(0).FindControl("CheckBox1"), CheckBox)? Извлечь данные из ячейки таблицы данных и назначить ее для флажка??



Вы можете просто использовать radD.Text = dgData.Rows(tracker1).DataBoundItem("OptionD").ToStringгде tracker1 - индекс столбца, а OptionD - имя столбца, а radA.text - текст переключателя. и dgData - имя представления таблицы данных.

Другие вопросы по тегам