|
|
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
ViPRosПрограммист-ЛюбительЗабыл написать, на форме настройки списка фильтрации видно, что для разных ролей можно задавать разные условия фильтрации. Это тоже бывает нужно при разделении доступа (раз наборы данных для разных ролей разные, то и условия отбора для них тоже могут потребоваться разные). и тут появляется задача и о раны значениях полей по умоляанию ля разных ролей, что нетривиально (сами фильтры то тривально генерятся и хранятся) Я сумел нетривиально через механизм подстановки (типа как в препроцессоре) логику формирования условий накрутить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:53 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель, фильтры то легко писать (хотя зачем их вручную, пользователь ведь не знает синаксис СКЛ) а вот смарт лукап посложнее, когда список выбора (домен) значения поля вычисляется автоматически из семантики связей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:54 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель, я ж говорю - условие ерунда, а вот по умочанию в соответствии с условием заполнять обусловленные поля - не так просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 23:55 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Честно говоря эта проблема была не самая горячая и, соответсвенно я ее и не решал. Точнее решал простым кодингом там, где это было необходимо (в каждой конкретной форме). Обычно заполнение "смарткомбо" идет рука об руку с общей кустомной логикой контроля ввода данных. Для важных и/но сложных объектов - договор, операция по договору, лимит и т.п. у меня были сделаны мастера (визарды) с постепенным заполнением данных в зависимости от уже введенного на предыдущих шагах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 08:53 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
П-Л, я понимаю, ты просто облегчаешь собственную жисть, нет цели сделать фреймворк полноценный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 11:51 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
смарт лукапы очень интересная весч ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2013, 23:37 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
не лучше будет как-нибудь xaml разметку динамически из той же бд подгружать? или целые EXEшники из бд тягать и запускать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 13:05 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Посмотрите в сторону Oracle APEX - очень грамотно все сделано. Можно много почерпнуть для своих поделок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 13:40 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительПри этом можно встроить в источники данных разграничения по ролям.У меня в клиенте sql нет вообще, все обращение через процедуры. Соответственно, если нужны будут разные where для разных ролей - буду в ХП либо писать if и возвращать разные курсоры, либо склеивать запрос динамически, либо использовать or в одном запросе - в зависимости от требований производительности. Программист-ЛюбительПри отображении сложных данных, имеющих определенную внутреннюю структуру, очень полезно использовать соответствующий контрол - тривью, аутлинер, т.п. Пример: очень многие системы хранят в каталоге организаций отношение парент-чаилд (дочерняя/зависимая фирма, холдинг и входящие в него компании и т.п.). Среди учетных систем финансового толка мне пока не попадались такие, где эта информация отображалась наглядно в виде дерева.TcxTreeList - и колонки, и дерево. Программист-ЛюбительОбязательно должен быть "мгновенный поиск". По мере набора текста в наборе данных должна позиционироваться запись, содержащая данный текст. Выглядит элементарно, но очень эффективно при поиске информации. Для этого же образца должна быть не менее мгновенная фильтрация набора.Это есть, прикладываю скрин. Поиск в отдельной строке - на самом деле фильтрация на клиенте, в лукап-комбо работает такая же (строится такое же выражение по отдельным словам). В самом гриде уже в каждой колонке есть инкрементальный поиск. Программист-ЛюбительЧто касается фильтров. Формально, если в наборе есть поля из справочников, программистам очень просто сделать выбор по справочникам. Можно добавить пукт <Все> к перечислению из справочника. Но при практической работе фильты в понятиях бизнес-терминов обычно охватывают несколько полей, или вообще представляют собой сложные выражения для секции WHERE. Я считаю что такие и нужно иметь возможность конфигурировать для табличной формы. Как простейший частный случай перекрывают возможности простого фильтра - перечисления из справочника.Да, это интересный способ, приму на вооружение. Я обычно делал для такого отдельные параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 15:56 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
SlalomПосмотрите в сторону Oracle APEX - очень грамотно все сделано. Можно много почерпнуть для своих поделок.Спасибо, посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 15:57 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
ShrДа, это интересный способ, приму на вооружение. Я обычно делал для такого отдельные параметры.У меня очень похожий визуальный построитель SQL WHERE условий, только используется он в "проверочных отчетах" - для контроля качества данных. К условиям для фильтров я себе такую штуку прикручивать не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 16:54 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
П-ЛУ меня очень похожий визуальный построитель SQL WHERE условий, только используется он в "проверочных отчетах" - для контроля качества данных. К условиям для фильтров я себе такую штуку прикручивать не стал.Нет, это работает в обратном направлении. Пользователь набирает в строке поиска куски слов, я (в коде) формирую простое условие, грид по нему фильтрует. То, что показано на скрине - редактор фильтра самого грида, пользователь обычно туда не лезет. Еще думаю добавить кнопку для быстрого добавления условия фильтрации "текущее поле=текущему значению". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:05 |
|
||
|
Набросал структуру для генерации GUI
|
|||
|---|---|---|---|
|
#18+
Еще забавно, что клиенту в общем-то совсем без разницы, на сервере ли БД лежит логика или на сервере приложений. Ему достаточно получать данные для отображения и вызывать процедуры с параметрами. Т.е. в перспективе можно переложить логику в среднее звено, сделать клиента в браузере, или научить этого же клиента работать через tcp/ip (т.е. не только в интрасети) не с БД а с промежуточным сервером, который может выполнять процедуры хоть в БД хоть в AppServer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2013, 13:24 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38420632&tid=1541091]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 484ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...