Снимите все флажки в 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 - имя представления таблицы данных.