Флажок только выбрать один элемент и отменить выбор других - PullRequest
0 голосов
/ 27 декабря 2018

У меня проблема с моим списком флажков, чтобы выбрать только один элемент вместо нескольких элементов.Может ли кто-нибудь помочь мне код для него?

<asp:CheckBoxList class="list-group-item" ID="chkResourceName1" runat="server" AutoPostBack ="true"  OnSelectedIndexChanged ="ResourceName_Click"></asp:CheckBoxList>

Sub ResourceName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Try
      Dim a As Integer = chkResourceName1.Items.Count
        Dim count As Integer = 0

        For i As Integer = 0 To a - 1
            If chkResourceName1.Items(i).Selected = True Then count += 1
        Next

        If count > 1 Then
            For i As Integer = 0 To a - 1
                If chkResourceName1.Items(i).Selected = True Then
                    chkResourceName1.Items(i).Selected = False
                End If
            Next
        End If

    Catch ex As Exception
        attPage.ErrorMessage = DA.GetErrorMessage(1, System.Reflection.MethodBase.GetCurrentMethod.Name.ToString, ErrMsg, ex.Message.ToString, attPage.ActionPage)
        ShowError(attPage.ErrorHeader, attPage.ErrorMessage)
    End Try 
End Sub 

Этот код результат, когда пользователь проверил более одного, то оба из проверенных ясно.Я хочу сделать Если пользователь щелкнет более одного, он очистит предыдущий и проверит только последний.

1 Ответ

0 голосов
/ 27 декабря 2018

Попробуйте, пояснения комментируются

 Sub ResourceName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Try
    Dim a As Integer = chkResourceName1.Items.Count
    Dim s As Integer =   chkResourceName1.SelectedIndex
    'Store the currently selected item's index in a variable

    For i As Integer = 0 To a - 1
         chkResourceName1.Items(i).Selected = False
         ' Un check all items
    Next

   chkResourceName1.Items(s).Selected = True
  'check the current item

Catch ex As Exception
    attPage.ErrorMessage = DA.GetErrorMessage(1, System.Reflection.MethodBase.GetCurrentMethod.Name.ToString, ErrMsg, ex.Message.ToString, attPage.ActionPage)
    ShowError(attPage.ErrorHeader, attPage.ErrorMessage)
End Try 
...