Как определить, установлен ли какой-либо флажок в datagridview или все они сняты
Здравствуйте мои друзья:
У меня есть DataGridView в форме Windows. Первый столбец содержит флажки.
Я могу определить, установлен ли какой-либо из флажков, однако мне нужно знать, все ли они сняты.
Например:
Если пользователь нажал на какой-либо из флажков, то сделайте что-нибудь, если пользователь снял все ранее отмеченные флажки, сделайте что-нибудь еще.
Опять же, я могу определить, установлен ли флажок или снят. Однако мне нужно определить, когда какой-либо флажок установлен и когда все флажки сняты.
Мне нужно, чтобы это происходило каждый раз, когда строка проверяется, чтобы я мог знать, когда условие выполнено. Это означает, что я не использую событие кнопки.
Что я уже пробовал:
Следующий код возвращает Bool каждый раз, когда пользователь проверяет или снимает флажок в сетке. Это не работает, потому что я хочу знать, когда какие-либо флажки установлены и все ли они сняты.
Например: допустим, пользователь проверяет 5 ящиков. Я хочу, чтобы меня уведомили только один раз. И снова уведомляется, когда все 5 не отмечены, а не только отдельные коробки.
Public Function IsContainChecked() As Boolean Dim ch1 As New DataGridViewCheckBoxCell() ch1 = DirectCast(DataGridView1.Rows(DataGridView1.CurrentRow.Index).Cells(0), _ DataGridViewCheckBoxCell) Return CBool(ch1.EditingCellFormattedValue) End Function
Graeme_Grant
Вот как это работает. Вам нужно написать код, чтобы обработать условие так, как вы этого хотите.
j snooze
вместо того чтобы делать логическое значение, почему бы не сохранить счетчик, который вы добавляете и вычитаете при каждой проверке/снятии флажка. Когда его ноль, вы знаете, что все они непроверены, когда его нет, вы знаете, что по крайней мере один флажок установлен. Я думаю, что не знаю ваших требований, так что это просто предложение, которое может не соответствовать вашим потребностям, но это способ отслеживать, если никакие флажки не установлены.