Добрый день. Никак не могу разобраться с пользовательским фильтром.
Нам надо создать фильтр типа float, который бы сравнивал введенное пользователем значение и разность двух полей в таблице.
Создаю пользовательский фильтр дробного значения, выбираю там подзапрос testsubquery, в этом подзапросе в Select единственное поле - customSqlColumn где написана разность двух колонок.
Но не работает. Подскажите пожалуйста, как нужно? Не могу пользовательские фильтры никак переварить корректно в голове.
Нравится
Во-первых, лучше бы описать полностью задачу, которая вам нужна, может быть тут предложат решение получше.
Но если вам надо сравнить введенное пользователем значение и разность двух полей в таблице. Тогда надо в sq надо создать параметр и фильтр типа CustomSQLFilter.
И в нем написать:
[Таблица].[Поле1] - [Таблица].[Поле2] сравнение :Параметр
где
Таблица - это таблица (например tbl_Offering)
Поле1 и Поле2 - поля в этой таблице
сравнение (>, <, = и т.д., смотря что нужно)
Параметр - параметр, в который не забудьте передать значение, введенное в поле
Кажется я понял, что я не так вас понял. Вам надо чтобы данный фильтр отражался в разделе на фильтрах? То да, надо создать customSqlColumn в sq, с текстом
ISNULL([Таблица].[Поле1], 0) - ISNULL([Таблица].[Поле2], 0)
И в датасете создать поле с дробным значением и присвоить ему это поле из sq, тогда фильтр автоматически появится по свойству поля в датасете "Поле фильтрации"