Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372

Фильтр по году

07.06.2017, 15:19. Показов 2162. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать фильтр,чтобы он оставлял только тех, у кого дата следующего прохождения намечена на 2017?
То что у меня на скрине, не совсем корректно и правильно
Миниатюры
Фильтр по году  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2017, 15:19
Ответы с готовыми решениями:

Фильтр по месяцу и году
Хочу организовать фильтр по месяцу и году. Имеются 4 поля со списками: ГодС, ГодПо, МесяцС, МесяцПо. При выборе всех четырех полей должен...

Фильтр по месяцу и году в ADO
Добрый вечер. Просмотрела много тем и вопросов по своей проблеме, но фильтрация всё равно не работает как надо. Дана таблица TKart(ADO,...

Фильтр по году в ленточной форме
Добрый вечер! Access. В ленточной форме сделал поле для ввода,необходимо привязать к нему процедуру (на событие после обновления),...

28
53 / 53 / 17
Регистрация: 12.02.2017
Сообщений: 261
07.06.2017, 16:15
Цитата Сообщение от xq Посмотреть сообщение
Как сделать фильтр,чтобы он оставлял только тех, у кого дата следующего прохождения намечена на 2017?
То что у меня на скрине, не совсем корректно и правильно
Можно с помощью проверки каждой строчки, только надо сперва уточнить дату в определеном формате.
VB.NET
1
2
3
4
5
6
7
8
9
Public Class Form1
    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
        For i As Integer = 0 To DataGridView1.Rows.Count - 1
            If DataGridView1.Item(1, i).Value = "2017" Then
                DataGridView1.Rows.RemoveAt(i)
            End If
        Next
    End Sub
End Class
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
07.06.2017, 16:31  [ТС]
Цитата Сообщение от Navthe Посмотреть сообщение
только надо сперва уточнить дату в определеном формате
вы про это?

VB.NET
1
2
3
4
5
6
    Dim dd As Object
        For i As Integer = 0 To KvallDataGridView.Rows.Count - 1
            If KvallDataGridView.Item(1, i).Value(dd.mm.yyyy) Then
                KvallDataGridView.Rows.RemoveAt(i)
            End If
        Next
0
53 / 53 / 17
Регистрация: 12.02.2017
Сообщений: 261
07.06.2017, 16:47
Цитата Сообщение от xq Посмотреть сообщение
If KvallDataGridView.Item(1, i).Value(dd.mm.yyyy) Then
Также как и в фильтрации с датами, здесь нужно указать Date.Parse, но это не обязательный параметр если только это не формат string.
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
07.06.2017, 17:01
If KvallDataGridView.Item(1, i).Value(dd.mm.yyyy) Then
всегда выдаст результат true, если сможет привести дату в заданный формат.
Нужно сравнить с чем-то, например
VB.NET
1
If KvallDataGridView.Item(1, i).Value(dd.mm.yyyy) > Today Then
или
VB.NET
1
If KvallDataGridView.Item(1, i).Value(yyyy) = "2017" Then
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
07.06.2017, 17:29  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Нужно сравнить с чем-то, например

VB.NET
1
If KvallDataGridView.Item(1, i).Value(dd.mm.yyyy) > Today Then
или

VB.NET
1
If KvallDataGridView.Item(1, i).Value(yyyy) = "2017" Then
при первом варианте выдает:
Не задана переменная объекта или переменная блока With.

на второй вообще нет реакции
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
07.06.2017, 18:19
Протупил. Изначально неправильное использование Value(dd.mm.yyyy) привело к неправильному совету.
Можно еще так попробовать:
VB.NET
1
If CDate(KvallDataGridView.Item(1, i).Value) > Date.Today Then
VB.NET
1
If Mid(KvallDataGridView.Item(1, i).Value, 7, 4) = "2017" Then
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
07.06.2017, 18:42  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Можно еще так попробовать:

В первом оно сначала ссылалось на неверный столбец,поставил нужный и ноль реакции

Во втором тот же результат
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
07.06.2017, 19:01
Результат должен быть после клика по Label1.
Если Вы ожидаете результат после других действий, стоит поставить это условие в другую процедуру.
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
07.06.2017, 19:07  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Результат должен быть после клика по Label1.
Если Вы ожидаете результат после других действий, стоит поставить это условие в другую процедуру.
Поставил на label,до этого было на Button. Результаты все те же
0
 Аватар для l34ddx
69 / 66 / 23
Регистрация: 23.07.2014
Сообщений: 121
07.06.2017, 19:08
VB.NET
1
KvallDataGridView.Item(5, i).Value(yyyy) = "2017"
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
07.06.2017, 19:35  [ТС]
Цитата Сообщение от l34ddx Посмотреть сообщение
KvallDataGridView.Item(5, i).Value(yyyy) = "2017"
Для типа "Date" не найден член по умолчанию.
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
07.06.2017, 19:46
Ну да, конечно же колонку правильную надо указать.
Если таблица соответствует той, что в первом посте, то
VB.NET
1
2
3
4
5
        For i As Integer = DataGridView1.Rows.Count - 1 - If(DataGridView1.AllowUserToAddRows, 1, 0) To 0 Step -1
            If Mid(DataGridView1.Item(3, i).Value, 7, 4) <> "2017" Then
                DataGridView1.Rows.RemoveAt(i)
            End If
        Next
2
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
08.06.2017, 14:27  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Ну да, конечно же колонку правильную надо указать.
Если таблица соответствует той, что в первом посте, то
Спасибо,таблицу фильтрует. А можно сделать,чтобы можно было указывать дату в textbox?
Ну и сброс фильтра
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
08.06.2017, 18:53
VB.NET
1
 If Mid(DataGridView1.Item(3, i).Value, 7, 4) <> Year(CDate(TextBox1.Text)) Then
Но если в textbox будет указана не дата или некорректная дата, будет ошибка, поэтому надо отлавливать.
Сброс фильтра = очистка и повторная загрузка DataGridView1.
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
08.06.2017, 21:23  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Но если в textbox будет указана не дата или некорректная дата, будет ошибка, поэтому надо отлавливать.
Сброс фильтра = очистка и повторная загрузка DataGridView1.
В чем проблема?
Миниатюры
Фильтр по году  
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
08.06.2017, 22:28
Цитата Сообщение от xq Посмотреть сообщение
если в textbox будет указана не дата или некорректная дата, будет ошибка
Указан только год "2017", поэтому и ошибка.
Если указывать только год, то достаточно так:
VB.NET
1
If Mid(DataGridView1.Item(3, i).Value, 7, 4) <> TextBox1.Text Then
1
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
10.06.2017, 14:08  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
Если указывать только год, то достаточно так:
Работает,спасибо)
А какой будет код на сброс?
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
10.06.2017, 14:57
Для очистки:
VB.NET
1
DataGridView1.Rows.Clear()
А затем выполнить процедуру исходного заполнения таблицы, как при открытии формы.
0
xq
1 / 1 / 0
Регистрация: 14.09.2014
Сообщений: 372
10.06.2017, 16:34  [ТС]
Цитата Сообщение от Bidgo Посмотреть сообщение
DataGridView1.Rows.Clear()
Ошибка. "Невозможно очистить этот список".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.06.2017, 16:34
Помогаю со студенческими работами здесь

Составить таблицу и выяснить минимальную и максимальную плотность населения в 1970 году и в 1989 году
Ребята, помогите пожалуйста с Excel. Я сам не успеваю.Задание ниже

Программа, которая бы позволяла по заданному году и порядковому номеру дня в году определять день недели
Ребята, помогите доработать код=) день недели выводится не правильно, примерно после 50 года=( Вот задание: Написать программу,...

По введенному году определить число ноября, на которое будет приходиться День матери в этом году
Подскажите алгоритм по которому можно выполнить эту задачу.Пробовал много способов , но ничего не получается. Алиса отправляясь на...

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

По заданному году и порядковому номеру дня в году определять день недели и месяц этого дня
Задачу не можем решить 3 людьми. ______________________________ Написать программу, которая бы позволяла по заданному году и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru