Показать сообщение отдельно
Старый 24.03.2019, 10:39   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от trud Посмотреть сообщение
Что-то на моей практике никто не требовал " = поле должно показывать текущий фильтр при входе на форму и при изменении критерия стандартными средствами (тот же Ctrl+F3)". Это выглядит усложнением
наверное. но на проектах часто добавляют установку специальных фильтров на форму. или какое нибудь принудительное восстановление из запомненных.

кроме того, на проектах любят делать кнопки, которые устанавливают query принудительно.

Цитата:
Сообщение от trud Посмотреть сообщение
Т.е. стандартно я делаю так
1.Для фильтров создаю временную таблицу. Это имхо позволяет удобно общаться со значениями фильтров и дает нормальный переход к основной таблице.
значения или критерий? (критерий может содержать несколько значений и запятыми, всякими .. и прочими метасимволы)

другими словами, инжектить содержимое формы Ctrl+F3 в пользовательскую форму?

Цитата:
Сообщение от trud Посмотреть сообщение
2. В classDeclaration формы добавляется Range или в твоем случае ссылка на QBDS. На init формы или датасорса инициализация этого Range(с признаком locked)
3. В executeQuery основной таблицы простановка в этот Range значения из полей временной таблицы(ну или в твоем случае дизейблинг датасорса)
4. На modified всех полей временной таблицы стоит executeQuery основной таблицы
да, подход в целом стандартный и понятный (кроме временной таблицы).
но имеем стандартные недостатки - фильтры могут содержать значения, не совпадающие с текущим запросом. т.е. фильтры показывают одно, а Ctrl+F3 - другое.

Цитата:
Сообщение от trud Посмотреть сообщение
Тут может быть проблема что queryRun().Query() будет пустой при первом вызове, т.е. если нужно ставить какие-то значения при открытии, это не будет работать.
угу.


добавлено:
а что насчет добавления/убирания таблиц в query? см. пример в исходном сообщении

я к чему:
у меня ощущение, что жутко не хватает класса, который реализовал бы функционал окна Ctrl+F3.
может быть есть такой класс? может кто-то уже делал?
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 24.03.2019 в 10:48.