powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрытие строк DataGridView
3 сообщений из 3, страница 1 из 1
Скрытие строк DataGridView
    #36641011
Anton--1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Пишу примитивнейшую программу для обработки заявок пользователей. Заявки хранятся в таблице БД SQL, на экран выводятся в DataGridView. Ну там их добавить можно, отредактировать итп. У заявок есть статусы - Новая , в работе, отозвана, исполнена. Из базы мы их не удаляем, чтобы отчитываться.
Но заявки копятся и хочется сделать более продвинутую сортировку , а именно разместить на форме несколько CheckBox ов которые бы означали статусы(соответственно четыре CheckBox) и когда они не отмечены, то в DataGridView записи с этим статусом не видны. Т.е. там где в какой-либо строке в шестом столбце содержится статус такой-то должны скрываться.
Я написал подпрограмму обработки смены статуса CheckBox

Private Sub Sortirovka()
Timer1.Stop()
Timer2.Stop()
WorkOfZayavkiBindingSource.SuspendBinding()
Dim circlefor As Integer = 0
Dim chislozapisey As Integer
chislozapisey = DataGridView1.RowCount
For circlefor = 0 To chislozapisey - 1
If CheckBox5.Checked = False And DataGridView1.Rows(circlefor).Cells(6).Value = "Новый" Then DataGridView1.Rows(circlefor).Visible = False
If CheckBox5.Checked = True And DataGridView1.Rows(circlefor).Cells(6).Value = "Новый" Then DataGridView1.Rows(circlefor).Visible = True
If CheckBox9.Checked = False And DataGridView1.Rows(circlefor).Cells(6).Value = "В работе" Then DataGridView1.Rows(circlefor).Visible = False
If CheckBox9.Checked = True And DataGridView1.Rows(circlefor).Cells(6).Value = "В работе" Then DataGridView1.Rows(circlefor).Visible = True
If CheckBox10.Checked = False And DataGridView1.Rows(circlefor).Cells(6).Value = "Закрыт" Then DataGridView1.Rows(circlefor).Visible = False
If CheckBox10.Checked = True And DataGridView1.Rows(circlefor).Cells(6).Value = "Закрыт" Then DataGridView1.Rows(circlefor).Visible = True
If CheckBox11.Checked = False And DataGridView1.Rows(circlefor).Cells(6).Value = "Отозван пользователем" Then DataGridView1.Rows(circlefor).Visible = False
If CheckBox11.Checked = True And DataGridView1.Rows(circlefor).Cells(6).Value = "Отозван пользователем" Then DataGridView1.Rows(circlefor).Visible = True
Next circlefor
WorkOfZayavkiBindingSource.ResumeBinding()
Timer1.Start()
Timer2.Start()
End Sub



Однако не срабатывает. Но если написать условия указав конкретную строку , например так

If CheckBox11.Checked = False Then DataGridView1.Rows(1).Visible = False
If CheckBox11.Checked = True Then DataGridView1.Rows(1).Visible = True

То работает, т.е. загвоздка где то в логике подпрограммы. Но вот где ? Я уже все локти искусал.

Статусы написаны правильно , столбец указан верно, где я ошибся? Тут видимо просто в логике загвоздка.

Заранее спасибо
...
Рейтинг: 0 / 0
Скрытие строк DataGridView
    #36641019
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы разделом ошиблись, вам сюда
...
Рейтинг: 0 / 0
Скрытие строк DataGridView
    #36641269
Anton--1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опубликовал вопрос в соответствующем разделе, удалите этот пожалуйста
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Скрытие строк DataGridView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]