powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Простой фильтр
1 сообщений из 26, страница 2 из 2
Простой фильтр
    #39474371
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fantanol,

решение уже найдено, но приведу ещё варианты.


Способ с использованием функции convert:

Код: c#
1.
bindingSource.Filter = "CONVERT([Дата следующего повышения], System.String) LIKE '%" + textBox.Text + "%'";


Нюанс: фильтрация осуществляется не по году, а по всей строке. Иногда это может быть удобно: вдруг пользователь захочет отфильтровать месяц или день или час.


Способ с дополнительным использованием substring:

Код: c#
1.
bindingSource.Filter = "SUBSTRING(CONVERT([Дата следующего повышения], System.String), 7, 4) = '" + textBox.Text + "'";


Фильтрация осуществляется конкретно по году. Но это работает только с определённой культурой, в которой при форматировании даты-времени год начинается с позиции 7. Ставим, например, англоязычную культуру:
Код: c#
1.
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us"); // "ru-ru"

и всё ломается.


Итог: правильным вариантом является уже найденный с двумя сравнениями на меньше/больше.
...
Рейтинг: 0 / 0
1 сообщений из 26, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Простой фильтр
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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