1 (edited by vir2alex 2016-05-05 10:43:24)

Topic: Как в фильтре TableGrid указать условие неравенства?

Есть логическое поле Trash. Это поле при создании новой записи заполняться не должно (поле указывает, что запись помещена в корзину, записи из БД вообще не удаляются). Т.к. при создании записи это поле вообще не заполняется, то в итоге сама ячейка получается пустой, т.е. в ней нет ни значения "Да, ни "Нет". Теперь нужно сделать так, чтобы TableGrid показывал только не помещённые в корзину записи. По логике можно было бы просто указать Trash="Нет" и отобразились бы только не выкинутые в корзину записи. Но т.к. поле пустёхонькое, то как быть? Нужно указать "Trash не равно  "Да"".
Вот эти значки не срабатывают: <>, !=

Re: Как в фильтре TableGrid указать условие неравенства?

Я так понял вам в запросе нужно условие отбора?

WHERE Trash IS NULL (или IS NOT NULL если не пусто)

Re: Как в фильтре TableGrid указать условие неравенства?

Извиняюсь за задержку с ответом, был в отпуске.
Вопрос еще актуален для вас?

Dmitry.

Re: Как в фильтре TableGrid указать условие неравенства?

Vitaly wrote:

Я так понял вам в запросе нужно условие отбора?

WHERE Trash IS NULL (или IS NOT NULL если не пусто)

В фильтре TableGrid-a! Там SQL-запросы разве можно указывать?

5 (edited by vir2alex 2016-06-24 15:54:40)

Re: Как в фильтре TableGrid указать условие неравенства?

DriveSoft wrote:

Извиняюсь за задержку с ответом, был в отпуске.
Вопрос еще актуален для вас?

Ну вообще-то да. smile Я проблему решил тем, что при создании новой записи воткнул скрытую галочку, которая по умолчанию установлена в "Нет". Но дело в том, что я твоей программой заинтересовался на полном серьёзе. Поэтому мне будет интересно знать, чем заполнено логическое поле в базе, если в него ни разу не вбивались данные. NULL в фильтре грида не работает. Это косяк грида или в базе не NULL?

А да! И неравенство в гриде всё-таки как указывается?

Re: Как в фильтре TableGrid указать условие неравенства?

vir2alex
как ответили выше, в поле фильтр можете указать условие

Trash IS NULL

независимо от типа поля, если в него не было внесена информация, поле имеет значение NULL


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

Dmitry.

Re: Как в фильтре TableGrid указать условие неравенства?

DriveSoft wrote:
Trash IS NULL

Так работает. В комент выше чёт не въехал с ходу. Я думал в фильтре грида свой синтаксис.

А знак неравенства то вообще как указывается? Тока

is not

  можно юзать?

Re: Как в фильтре TableGrid указать условие неравенства?

vir2alex
В фильтре используется синтаксис SQL, в принципе это условие просто подставляется в секцию WHERE, когда система формирует SQL запрос для грида.


знак неравенства <>, но его нельзя применять при условиях связанных со значением NULL, поэтому либо IS NULL либо IS NOT NULL

Dmitry.