11.11.2009, 04:57 | #1 |
китайский стажер
|
DAX 4.2 Фильтры, возникающие в диалоге автоматически
Делаю отчет в котором много datasources.
Каждый из них в диалоге создает по умолчанию свой фильтр (range) и форма выглядит огромной. Как сделать, чтобы не было этих фильтров? Все равно никто не будет их использовать.
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
11.11.2009, 06:15 | #2 |
Moderator
|
RunBase.showQueryValues(), если я правильно помню, отвечает за это. Скорее всего вы его перекрыли и возвращаете true.
|
|
|
За это сообщение автора поблагодарили: Qaz Qwerty (1). |
11.11.2009, 07:52 | #3 |
сибиряк
|
как уже правильно написл Андре, RunBase.showQueryValues(). Если он будет возвращать false, фильтры будут невидимы в диалоге, но и недоступны для ввода.
__________________
С уважением, Вячеслав. |
|
|
За это сообщение автора поблагодарили: Qaz Qwerty (1). |
11.11.2009, 08:27 | #4 |
Участник
|
Цитата:
PS: в отчете свойство Range = Hide Последний раз редактировалось coolibin; 11.11.2009 в 08:29. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1), JeS (1), Qaz Qwerty (1). |
11.11.2009, 09:26 | #5 |
Участник
|
А можно немного оффтопика? Всегда интересовал один вопрос.
Почему эти самые значения фильтров, которые замечательным образом автоматически добавляются в диалог, сделаны readonly? Почему бы не дать возможность пользователю редактировать их прямо там на диалоге, а уже для остальных использовать расширенный фильтр по кнопке 'Выбор'? |
|
11.11.2009, 09:36 | #6 |
Участник
|
Цитата:
если разрешать редактирование в диалоге, то приклось бы делать программный lookup к каждому фильтру (см. как сделаны лукапы в форме критериев, которая взывается по кнопке Выбор). что, с одной стороны, наложило бы ограничения на программистские лукапы, а с другой стороны непомерно усложнило бы диалог. кроме того, непременно надо было бы давать возможность управления видимостью и доступностью... Не говоря уже о добавлении новых фильтров... поэтому я предполагаю, что это здоровая леность программистов. я не думаю, что здесь заложен какой-то глубинный смысл. |
|
11.11.2009, 10:56 | #7 |
Участник
|
А разве lookup не зависит от ExtendetDataType контрола? Мне так видится напротив реализация разных лукапов для одной и той же колонки грида - посложнее будет.
Самым сложным моментом мне сдесь представляется оперативная синхронизация значений фильтров в диалоге и на форме выбора. Т.е. необходим программный modified Цитата:
Осталось только победить лень |
|
11.11.2009, 11:08 | #8 |
Участник
|
Цитата:
Если EDT контрола позволяет вводить максимум 20 символов, то никаким образом в него нельзя будет ввести длинный критерий (хотя бы в 200 символов). В окошке ввода критериев используется тип Criterias, а не EDT Цитата:
Не надо. Разберитесь как работает форма критериев. Посмотрите на ее методы. Подумайте - а оно нужно? Вернемся к первоосновам: 1. dialog - простой класс для работы с простыми динамически создаваемыми диалогами. 2. если нужен сложный диалог (в том числе со сложной логикой), то лучше нарисовать отдельное окно, объявить его диалогом и... (см. методику работы с диалогами) если в простом диалоге появится возможность вводить критерии непосредственно, то придется такую же возможность вводить и в диалоги-отдельные-окна. А судя по вопросам на форуме народ и так предпочитает извращаться и усложнять простые диалоги, чтоы просто нарисовать свой было бы намного проще. А тут еще один усложняющий момент появится... |
|
11.11.2009, 11:43 | #9 |
Участник
|
Это всё понятно. Хочешь сложный фильтр - используй форму выбора. А простой можно и непосредственно на дилоге задать.
Просто бывает, что для удобства пользователей часто используемые фильтры ради быстроты заполнения искусственно выносятся на диалог. Значения этих критериев затем тупо переписываются в query. Цитата:
а что такое 'диалоги-отдельные-окна'? |
|
11.11.2009, 12:21 | #10 |
Участник
|
Цитата:
Представим, что я тупой пользователь. Я вбиваю фильтр в эту глупую программу... И вдруг она не дает записать последний символ моего фильтра? Я как тупой пользователь ищу инструкцию, нажимаю кнопку Выбор, перевбиваю свой фильтр заново... При этом постоянно матерюсь и чертыхаюсь. Нет уж! Если давать возможность вводить, то единообразно. Как и в критериях. Цитата:
Во-первых, пользователь не может ввести нормальные критерии через звездочку (а потом удивляемся почему пользователи такие тупые) Во-вторых, значения в этих "часто используемых фильтрах" не совпадают с теми, что используются в критериях В-третьих, не запоминаются (поскольку разработчики тупо не используют xSaveLast) В-четвертых, ... В-пятых, ... ... В-мамнадцатых. Интерфейс должен быть предсказуем. А для этого он должен быть единообразным. Э-э-э... М-м-м... В общем... Черт, не ожидал я такого поворота разговора. Пример - диалог, который выскакивает при создании заказа на продажу, заказа на закупку, заказа на производство. |
|
16.11.2009, 05:09 | #11 |
китайский стажер
|
У меня отчет наследован от RunBaseReport, так что может это там что то перекрыто, но в любом случае - заработало! Спасибо все большое!
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
Теги |
dialog, querybuildrange |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|