Как проверить, верны ли строки в событии с привязкой к сетке? - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть Gridview с одной кнопкой, если все строки имеют значение true или отмечены, то состояние кнопки установлено как включенное, иначе оно будет отключено.вот мой код, но он не работает для меня.

If e.Row.RowType = DataControlRowType.DataRow Then


        Dim ckbox As CheckBox = CType(e.Row.FindControl("workfinished"), CheckBox)

        If ckbox.Checked = True Then
            btnFinishedAllWork.Enabled = True

        End If



    End If

enter image description here

1 Ответ

0 голосов
/ 02 января 2019

Вы должны использовать пример кода, упомянутый ниже, чтобы выполнить ваши требования.

Важные моменты, как показано ниже.

  • Всегда устанавливайте включенное состояние кнопки в значение true в начале страницыжизненный цикл в событии Page_Load
  • Затем, когда строка данных сетки связывается, что происходит после события Page_Load, вы устанавливаете состояние кнопки как отключенное, когда какой-либо из флажков снят

Код VB.NET ниже для изменения состояния кнопки

''In Page_Load event set the button to enabled state and then change its state later
''in page life cycle depending on if a check box is unchecked.

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load

btnFinishedAllWork.Enabled = True

End Sub



Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs)

If e.Row.RowType = DataControlRowType.DataRow Then
        Dim ckbox As CheckBox = CType(e.Row.FindControl("workfinished"), CheckBox)
        ''only change the state of button any one of the check boxes is unchecked
        If ckbox.Checked = False Then
            btnFinishedAllWork.Enabled = False
        End If
    End If

End Sub
...