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