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

Вот что получилось накидать:

Код: vbnet
1.
KvallBindingSource.Filter = String.Format("Convert.ToString(yyyy)([Дата следующего повышения], 'System.String') LIKE'" + TextBox1.Text + "%'")



Сброс самого фильтра,я так понимаю будет таким:

Код: vbnet
1.
KvallBindingSource.Filter = ""
...
Рейтинг: 0 / 0
Простой фильтр
    #39472760
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanol,

A где у Вас год-то храниться?
...
Рейтинг: 0 / 0
Простой фильтр
    #39472989
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2fantanol,

A где у Вас год-то храниться?
Таблица. dgw
...
Рейтинг: 0 / 0
Простой фильтр
    #39472996
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что не получается? Что в TextBox вводите?
...
Рейтинг: 0 / 0
Простой фильтр
    #39473002
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Простой фильтр
    #39473063
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SyrexА что не получается? Что в TextBox вводите?
ввожу только год

Сам код у меня не правильный.
...
Рейтинг: 0 / 0
Простой фильтр
    #39473067
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanolSyrexА что не получается? Что в TextBox вводите?
ввожу только год

Сам код у меня не правильный.
Tак исправьте. Сделайте, как по ссылке от Syrex сделано
...
Рейтинг: 0 / 0
Простой фильтр
    #39473070
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2fantanolпропущено...

ввожу только год

Сам код у меня не правильный.
Tак исправьте. Сделайте, как по ссылке от Syrex сделано
там же код для диапазона дат
...
Рейтинг: 0 / 0
Простой фильтр
    #39473073
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня еще такое есть.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
  Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        For i As Integer = KvallDataGridView.Rows.Count - 1 - If(KvallDataGridView.AllowUserToAddRows, 1, 0) To 0 Step -1
            If Mid(KvallDataGridView.Item(3, i).Value, 7, 4) <> TextBox1.Text Then

                KvallDataGridView.Rows.RemoveAt(i)
            End If
        Next
    End Sub


и он рабочий

только сброса нет и без понятия как его сделать
...
Рейтинг: 0 / 0
Простой фильтр
    #39473107
Syrex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fantanolтам же код для диапазона дат
Так год начинается с "01.01.YYYY" и заканчивается "03.12.YYYY"

И ещё - год две цифры или четыре?
...
Рейтинг: 0 / 0
Простой фильтр
    #39473147
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вот тут функции, которые можно использовать в составлении фильтра.

https://technet.microsoft.com/ru-ru/library/system.data.datacolumn.expression(v=vs.90).aspx

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

@"Convert([Дата следующего повышения], 'System.String') LIKE '%%%%%%" + TextBox1.Text.Substrig(6) + "'"

Если формат dd.mm.yyyy
...
Рейтинг: 0 / 0
Простой фильтр
    #39473259
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Syrexfantanolтам же код для диапазона дат
Так год начинается с "01.01.YYYY" и заканчивается "03.12.YYYY"

И ещё - год две цифры или четыре?
у меня четыре.

я просто ввожу 2017 в Textbox и должно фильтровать данные.



Cat2Вот тут функции, которые можно использовать в составлении фильтра.

https://technet.microsoft.com/ru-ru/library/system.data.datacolumn.expression(v=vs.90).aspx

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

@"Convert([Дата следующего повышения], 'System.String') LIKE '%%%%%%" + TextBox1.Text.Substrig(6) + "'"

Если формат dd.mm.yyyy

ничего не понял из примера по ссылке
...
Рейтинг: 0 / 0
Простой фильтр
    #39473381
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: c#
1.
string.Format(@"[Дата следующего повышения] >= '{0}-01-01' and [Дата следующего повышения] <= '{1}-01-01' ", TextBox1.Text, int.Parse(TextBox1.Text)+1);
...
Рейтинг: 0 / 0
Простой фильтр
    #39473387
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Во втором сравнении "меньше", а не "меньше или равно"
Cat2
Код: c#
1.
string.Format(@"[Дата следующего повышения] >= '{0}-01-01' and [Дата следующего повышения]  <  '{1}-01-01' ", TextBox1.Text, int.Parse(TextBox1.Text)+1);
...
Рейтинг: 0 / 0
Простой фильтр
    #39473411
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А вообще-то я бы для выбора года сделал комбобокс с выбором или NumericUpDown, что бы юзеры не клали в текстбокс всякую каку
...
Рейтинг: 0 / 0
Простой фильтр
    #39473483
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Во втором сравнении "меньше", а не "меньше или равно"
Cat2
Код: c#
1.
string.Format(@"[Дата следующего повышения] >= '{0}-01-01' and [Дата следующего повышения]  <  '{1}-01-01' ", TextBox1.Text, int.Parse(TextBox1.Text)+1);
...
Рейтинг: 0 / 0
Простой фильтр
    #39473508
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanol,
я без особой проверки писал и на C#

Попробуйте вместо Parse - Convert.ToInt32
...
Рейтинг: 0 / 0
Простой фильтр
    #39473545
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такое не работает

Код: vbnet
1.
  String.Format("[Дата следующего повышения] >= '{0}-01-01' and [Дата следующего повышения]  <  '{1}-01-01' ", TextBox1.Text, Convert.ToInt32(TextBox1.Text) + 1)
...
Рейтинг: 0 / 0
Простой фильтр
    #39473574
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanolтакое не работает
Что именно не работает?
База какая?
...
Рейтинг: 0 / 0
Простой фильтр
    #39473576
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Попробуйте

Код: c#
1.
String.Format("[Дата следующего повышения] >= '01.01.{0}' and [Дата следующего повышения]  <  '01.01.{1}' ", TextBox1.Text, Convert.ToInt32(TextBox1.Text) + 1)



Код: c#
1.
String.Format("[Дата следующего повышения] >= #01.01.{0}# and [Дата следующего повышения]  <  #01.01.{1}# ", TextBox1.Text, Convert.ToInt32(TextBox1.Text) + 1)
...
Рейтинг: 0 / 0
Простой фильтр
    #39473595
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Попробуйте

Код: c#
1.
String.Format("[Дата следующего повышения] >= '01.01.{0}' and [Дата следующего повышения]  <  '01.01.{1}' ", TextBox1.Text, Convert.ToInt32(TextBox1.Text) + 1)



Код: c#
1.
String.Format("[Дата следующего повышения] >= #01.01.{0}# and [Дата следующего повышения]  <  #01.01.{1}# ", TextBox1.Text, Convert.ToInt32(TextBox1.Text) + 1)



я вот такой вариант сделал

Код: vbnet
1.
2.
3.
  Dim q As String
        q = TextBox1.Text
        KvallBindingSource.Filter = "[Дата следующего повышения] >='" & q & "/01/01' and [Дата следующего повышения] <= '" & q & "/12/31'

"
...
Рейтинг: 0 / 0
Простой фильтр
    #39473757
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanol
Код: vbnet
1.
<= '" & q & "/12/31'


Не попадет весь день 31 декабря, поэтому я и писал , что меньше 1 января 00:00 следующего года
...
Рейтинг: 0 / 0
Простой фильтр
    #39473758
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
"2017" & "/01/01' - это 31.12.2017 00:00, а в [Дата следующего повышения] может оказаться дата со временем
...
Рейтинг: 0 / 0
Простой фильтр
    #39473797
fantanol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2"2017" & "/01/01' - это 31.12.2017 00:00, а в [Дата следующего повышения] может оказаться дата со временем
но если у меня время не добавляется, то мой фильтр сойдет?
...
Рейтинг: 0 / 0
Простой фильтр
    #39473979
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
fantanolCat2"2017" & "/01/01' - это 31.12.2017 00:00, а в [Дата следующего повышения] может оказаться дата со временем
но если у меня время не добавляется, то мой фильтр сойдет?
Да
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Простой фильтр
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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