![]() |
#1 |
Участник
|
Значение пользовательского фильтра на форме
Вопрос этот уже поднимался, однако приведенный метод решения не работает - хочу разобраться, почему.
Задача - узнать значение фильтра и, соответственно, поле, по которому его установил пользователь. Для примера по нажатию кнопки на форме считаем число range-й: Table_ds.query().dataSourceNo(1).rangecount() Выдается правильное число - проверяем в списоке формы Запроса (Воронка). Далее устанавливаем дополнительный фильтр - он правильно отображается в форме запроса. Однако при повторном нажатии на кнопку ожидаемого увеличения количества не наблюдается - то же, что и было в начале. Попытка найти range соответственно тоже не увенчалась успехом. Что делать? |
|
![]() |
#2 |
Модератор
|
Хм... не должно такого быть... поищите... я даже код выкладывал, вроде даже рабочий
![]() Или постарайтесь поподробнее описать, как Вы достигли такого эффекта. А Запрос сохраняли? С Уважением, Георгий. |
|
![]() |
#3 |
Moderator
|
Может быть, Вы добавляете через воронку еще одну таблицу в качестве datasource и делаете range уже на ней? Тогда надо использовать не datasourceNo(1), а datasourceTable(tableNum(<ваша_таблица>)).
__________________
Андрей. |
|
![]() |
#4 |
Участник
|
Ок, постараюсь подробнее. Есть форма, неважно какая - пробовал на разных. В гриде несколько полей. Нужно знать, по какому из них назначил фильтр пользователь и само значеие этого фильтра.
То есть пользователь вообще может не работать с формой "Запрос" - просто нажать в контекстном меню какого-нибудь поля "Фильтр". Для примера на форме я создал кнопку с методом clicked(): { info(queryvalue(Table_ds.query().dataSourceNo(1).rangecount())); } Исходное число range-й ( тех, что там есть по умолчанию ) считается верно, но любые изменения - добавление или удаление не фиксируется приведенным методом... |
|
![]() |
#5 |
Участник
|
Цитата:
Может быть, Вы добавляете через воронку еще одну таблицу в качестве datasource и делаете range уже на ней? Тогда надо использовать не datasourceNo(1), а datasourceTable(tableNum(<ваша_таблица>)).
|
|
![]() |
#6 |
Модератор
|
Это не Range. Это фильтр. В этом все дело.
|
|
![]() |
#7 |
Участник
|
PHP код:
|
|
![]() |
#8 |
Участник
|
![]()
О, спасибо!
|
|