С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
1

Оператор "And" в BindingSource.Filter

26.11.2011, 19:03. Показов 1800. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!

Подскажите, пожалуйста, каким образом в свойстве Filter моего BindingSource прописать такое условие: (Статус And 64) = 0, где Статус - колонка в DataSet, привязанном к моему BindingSource. Когда так и пишу, при запуске выпадает ошибка: "Невозможно выполнить операцию "And" над System.Int32 и System.Int32.". Может, вместо And что-то другое писать надо? Пытался вместо 64 сослаться на колонку, заполненную числом 64, но ошибка та же выпадает. Как быть?

Спасибо!

Добавлено через 2 минуты
писать в Filter аналогичное по результату Статус < 64 не подходит.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2011, 19:03
Ответы с готовыми решениями:

Filter в BindingSource не может найти столбец
Доброго времени суток. Проблема такая, есть код: 'Поиск информации Private Sub...

BindingSource.Filter
Доброго времени суток. Помогите пожалуйста разобраться с фильтрацией. Произвожу фильтрацию по дата...

DataCridView и BindingSource.Filter
Есть DataCridView с набором данных. В нем применяется фильтрация Запрос4BindingSource.Filter =...

Использование BindingSource.Filter
Ребята подскажите пожалуйста... Есть датагрид к ней подключена таблица и использую метод ниже для...

6
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
28.11.2011, 09:46 2
Цитата Сообщение от Vinemax Посмотреть сообщение
(Статус And 64) = 0
а так не пробовал?
C#
1
2
3
4
if(Статус == 64)
{}
else
{}
0
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
29.11.2011, 12:57  [ТС] 3
nio, я про VB.NET спрашивал, а не про C#, но суть ясна, только что-то не пойму твой пример... Разве в свойстве Filter BindingSourc'ов условия If... Else... можно писать?
0
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
29.11.2011, 13:50 4
Цитата Сообщение от Vinemax Посмотреть сообщение
Разве в свойстве Filter BindingSourc'ов условия If... Else... можно писать?
врядли, это я твой вопрос не правильно понял. Почитай это http://msdn.microsoft.com/ru-r... ilter.aspx
1
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
29.11.2011, 14:12  [ТС] 5
Цитата Сообщение от nio Посмотреть сообщение
врядли, это я твой вопрос не правильно понял. Почитай это http://msdn.microsoft.com/ru-r... ilter.aspx
дело в том, что это есть и у меня в локальном MSDN. Суть-то работы BindingSource c Filter понятна. Например, "(Column1 > 64) And (Column2 < 64)", точно также "(Column1 > 64) Or (Column2 < 64)" работают прекрасно. Но вот, если мне надо "прочитать" какой-то конкретный бит в колонке... логически это так "(Column1 And 4) > 0", т.е. третий бит равен 1, то эта операция не проходит. Неужели нельзя так писать в Filter?
0
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
29.11.2011, 14:40 6
Vinemax, весь прикол в том что "And" в данном случае не битовая операция. А ты не пробовал & использовать?
0
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
29.11.2011, 15:37  [ТС] 7
Цитата Сообщение от nio Посмотреть сообщение
...весь прикол в том что "And" в данном случае не битовая операция.
Почему не битовая? And, Or, Xor, Not - логические операции. Ведь, например, условия a > n или b = n возвращают True или False, поэтому, например, (a > n) And (b = n) вернет значение типа Boolean. Я таким образом в своих программах делаю активными или неактивными кнопки на ToolStrip. Пример:

VB.NET
1
ToolStripButton1.Enabled = (Grid1.RowCount > 0) And (Grid1.Item(0, 0).Value.ToString <> "")
А операция, например, a And 4, где a = 7 логически выглядит так:

111 = 7
and
001
= 4
------
001 = 4 - результат > 0, следовательно третий бит равен 1 (true)

Почему такое не работает в Filter не представляю. Свою задачу я решил уже совсем по другому, но хотелось бы, конечно, разобраться.
0
29.11.2011, 15:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2011, 15:37
Помогаю со студенческими работами здесь

Объединить 2 bindingsource filter
BindingSource b1 = new BindingSource(); b1.DataSource = dataGridView3.DataSource; ...

BindingSource игнорирует Filter
Помогите, пожалуйста, справиться с BindingSource.Filter. Не могу понять, что я делаю не так, вот...

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

Bindingsource.filter через radiobutton
Здравствуйте, такая проблема. Есть таблица Товар, в которой есть поле &quot;Название товара&quot;. На форму...

BindingSource.Filter и Application.Run
Появилась очень странная проблема, смысл которой я никак не могу понять. Делаю простой фильтр с...

Bindingsource.filter для чисел
Добрый вечер! Возникла следующая проблема: как фильтровать данные из БД по числовому полю? когда...

BindingSource.Filter в БД MySQL по времени
Доброго времени суток! Пытаюсь реализовать фильтр по времени в dataGridView BindingSource bind...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru