148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
1 | |
Оператор "And" в BindingSource.Filter26.11.2011, 19:03. Показов 1800. Ответов 6
Метки нет (Все метки)
Привет всем!
Подскажите, пожалуйста, каким образом в свойстве Filter моего BindingSource прописать такое условие: (Статус And 64) = 0, где Статус - колонка в DataSet, привязанном к моему BindingSource. Когда так и пишу, при запуске выпадает ошибка: "Невозможно выполнить операцию "And" над System.Int32 и System.Int32.". Может, вместо And что-то другое писать надо? Пытался вместо 64 сослаться на колонку, заполненную числом 64, но ошибка та же выпадает. Как быть? Спасибо! Добавлено через 2 минуты писать в Filter аналогичное по результату Статус < 64 не подходит.
0
|
26.11.2011, 19:03 | |
Ответы с готовыми решениями:
6
Filter в BindingSource не может найти столбец BindingSource.Filter DataCridView и BindingSource.Filter Использование BindingSource.Filter |
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
29.11.2011, 12:57 [ТС] | 3 |
nio, я про VB.NET спрашивал, а не про C#, но суть ясна, только что-то не пойму твой пример... Разве в свойстве Filter BindingSourc'ов условия If... Else... можно писать?
0
|
29.11.2011, 13:50 | 4 |
врядли, это я твой вопрос не правильно понял. Почитай это http://msdn.microsoft.com/ru-r... ilter.aspx
1
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
|
29.11.2011, 14:12 [ТС] | 5 |
дело в том, что это есть и у меня в локальном MSDN. Суть-то работы BindingSource c Filter понятна. Например, "(Column1 > 64) And (Column2 < 64)", точно также "(Column1 > 64) Or (Column2 < 64)" работают прекрасно. Но вот, если мне надо "прочитать" какой-то конкретный бит в колонке... логически это так "(Column1 And 4) > 0", т.е. третий бит равен 1, то эта операция не проходит. Неужели нельзя так писать в Filter?
0
|
148 / 116 / 10
Регистрация: 12.09.2011
Сообщений: 785
|
||||||
29.11.2011, 15:37 [ТС] | 7 | |||||
Почему не битовая? And, Or, Xor, Not - логические операции. Ведь, например, условия a > n или b = n возвращают True или False, поэтому, например, (a > n) And (b = n) вернет значение типа Boolean. Я таким образом в своих программах делаю активными или неактивными кнопки на ToolStrip. Пример:
111 = 7 and 001 = 4 ------ 001 = 4 - результат > 0, следовательно третий бит равен 1 (true) Почему такое не работает в Filter не представляю. Свою задачу я решил уже совсем по другому, но хотелось бы, конечно, разобраться.
0
|
29.11.2011, 15:37 | |
29.11.2011, 15:37 | |
Помогаю со студенческими работами здесь
7
Объединить 2 bindingsource filter BindingSource игнорирует Filter Не работает Filter в BindingSource Bindingsource.filter через radiobutton BindingSource.Filter и Application.Run Bindingsource.filter для чисел BindingSource.Filter в БД MySQL по времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |