Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Скрытие строк DataGridView
|
|||
|---|---|---|---|
|
#18+
Добрый день Пишу примитивнейшую программу для обработки заявок пользователей. Заявки хранятся в таблице БД 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 То работает, т.е. загвоздка где то в логике подпрограммы. Но вот где ? Я уже все локти искусал. Статусы написаны правильно , столбец указан верно, где я ошибся? Тут видимо просто в логике загвоздка. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2010, 11:24 |
|
||
|
Скрытие строк DataGridView
|
|||
|---|---|---|---|
|
#18+
вы разделом ошиблись, вам сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2010, 11:27 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=128&tid=2159760]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 17ms |
| total: | 160ms |

| 0 / 0 |
