|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Переношу в очередной раз Модератор: Для того, чтобы понять суть заданного вопроса - это надо кликнуть, перейти в дельфевый форум, там кликнуть и перейти в С#. Я позволю себе скопировать твой текст оттуда сюда, но в след. раз лучше делать это самостоятельно: 1. Загоняете все таблицу в память 2. Загоняете только нужные строки (как?) Что делаете если на одном поле показаны данные из разных таблиц (Допустим, поле "Что входит" в узловых спецификациях может быть Деталь, Материал, ПКИ и т.д.) Какую стратегию исползуете при вводе НОВЫХ данных? 1. Показывете всю таблицу 2. Показываете фильтр для уточнения выборки для показа 3..... (это интересует больше :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 21:08 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
А в чем, собственно проблема? Если лукап из более-менее статичных и коротких списков, то предзаполненный вываливающийся список. Если длинный или неопределенный, то лукап делается из отдельного диалога, где уже могут быть, а могут и не быть различные вспом. инструменты для поиска, фильтрации и т.п. Это что касается ввода и правки. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 22:31 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Александр Гoлдун, Проблемы то особой нет, кроме производительности и памяти. :) Если загружать из лукап источника только ту инфу, которая дает разрешение для видимой части (а она может быть получена хитрыми проекциями), то встает вопрос автоматического определения лукап полей, нужных источников, генерации и выполнения запросов для загрузки нужных источников в нужных разрезах. И хорошо бы эти запросы не заставляли повторный запуск первичного запроса. И если размер страницы выборки больше чем размер видимой страницы, то эти запросы еще сложнее, или загруженная страница еще не видима и т.д. Ну, с вводом и редактированием немного проще. Как вы это делаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 22:56 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
JOIN что-ли хитрая проекция? Или о чем речь? немного непонятно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 22:59 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
iscrafm, ну вот смотри Процедура из метаданных генерирует для основной таблицы типа Код: plaintext
Здес Заказчик, Испольнитель, Потребитель лукап поля Для этих полей надо генерировать запросы, котрые будут выполняться в том же батче в итоге надо вернут два резальтсета ( с учетом того, что Заказчик, Испольнитель, Потребитель все одного типа - Юридическое лицо) Но, представь себе что педжинг на экране 10 записей и козел тот этот экран отсортировал (на клиенте) по описанию :( Т.е., проблемы с очисктой кеша для лукап полей допольнительно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:11 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
тфу Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:15 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават Юсифов Если загружать из лукап источника только ту инфу, которая дает разрешение для видимой части.... Подозреваю, что тут проблема в попытке одним и тем же инструментом решить две задачи: отображение выбранного в поле на форме и собственно выбор. Да, для простых случаев можно на все про все использовать что-то вроде комбобоксов и их производных: он и отобразит на форме и позволит выбрать. Если более сложный вариант, лучше все-таки разделить задача. Например если идет речь о выборе спецификации, то не вижу никакого смысла в саму форму, где есть поле со ссылкой на спецификацию, пихать все ее содержимое. Достаточно выдать ключевую для пользователя идентифицирующую информацию, например номер, дату, название и т.п. Возможно в комплексе, но это должна быть просто конкатенация в одну строку. Как это вывести, надеюсь объяснять не надо. Дальше возникают еще 2 отдельные задачи. 1. Как дать пользователю более подробную инфу, что именно выбрано в этом поле. Я обычно банально предлагаю по встроенной кнопке открыть форму соответствующего документа. Логично и удобно. 2. Как выбирать. Ну, тут уж от предмета выбора зависит. Но для сложных случаев это однозначно отдельный диалог выбора, причем чаще всего модальный. А уж в нем делается все что необходимо, чтоб найти соответствующий документ. Надо быть проще. Красивые навороченные демонстрационные примеры от DevExpress хороши, чтоб ими любоваться. Но не стоит их все сразу предлагать несчастным реальным пользователям :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:31 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават, понял о чем ты. Никогда не использую лукап поля, поэтому я пас. Думал немного о другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:32 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Александр Гoлдун, ты имеешь ввиду показать так? Это тоже есть, но как то неинтересно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:46 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Александр Гoлдун, и причем тут Девекспресс??? и о каких демках идет речь? что то не понял юмора ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:47 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
iscrafm, значит ты показываешь без лукапа, а редактируешь и вводишь в отдельной форме? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:48 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават, да, примерно так. Для просмотра все вытягивается запросом, а если нужно отредактировать, то по требованию "подчитывается" список. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2009, 23:59 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
iscrafm, ну тогда надо два АПИ, для показа и для обработки :( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:06 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Ну, получается, что лучше всего лукап инфы совместно с основной инфой грузить НЕ надо. Потому что основная инфа может быть просто не видимым еще. Потому лучше всего реагировать на состояние экрана, при изменении выдернуть лукап инфы для вновь видимых и очистить для ставших невидимыми (если конечно нет на эти записи других ссылок) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:11 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават Юсифовiscrafm, ну тогда надо два АПИ, для показа и для обработки :( нет. Просто для показа все делаешь в БД, а для обработки, если понадобиться, подключаешь дополнительные источники. Но только по требованию и единоразово. Часто ограничиваются параметрами. Но форма одна может быть, а может и две разные. Когда как выгодней. Мало ситуаций когда нужно одновременно. Но тянуть сразу все лукап списки навряд-ли нужно. Вытяни "расшифровки" запросом из БД. При выборе значения из "справочника" просто, помимо ключей, физически заполняются их представления на клиенте. В базу конечно пишутся только ключи. Где-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:17 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
iscrafm, Понятно, так тоже сесть Но надо кучу левых запросов генерировать. А они все громадные. Тут у меня сейчас вот что сделан - Датасет работает напрямую с БД с фильтрацией и доппейджингом. Т.е., допустим MoveNext выбирет из кеша следуюущую запись, но если конец страницы, то загружает следующую страницу и выбирает первую запись (при указании доппараметра предыдущая странцы сохраняется и кеш уничтожается). Так вот этот же механизм подключен к визуальным элементам. Они работают напрямую с БД и малым кешем. Тем самым одни и те же расширения Датасет дают возможность визуализировать и обработать любой объем данных при управляемом размере использованной памяти. Я принял окончательно решение - ввожу оверлоад в нужные методы с параметром лукап и в этом режиме к записи сразу припишу и уничтожу всю лукап информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:26 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават, насчет запросов не знаю, у нас немного все не так "внутри". Но принцип примерно как ты и описал. Вот картинка . На просмотр - из базы, для редактирования по требованию запускается привязанный сервис , который заполняет все что нужно в текущей записи. Он делается один раз, используется где необходимо. СОА рулит . :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:42 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
iscrafm, понятно, спасибо обойдемся без соа, просто переписал и дописал датасет немного и все датасет знает о своем двойнике в БД все :) загружает все нужные связи и т.д. вощем слиппер :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:50 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Полуилось обычный ОРМ, только без генерации вских там классов и т.д. Все делается динамически (добавление новых типов, совйств, асоциаций и т.д.) и ничего перекомпилировать не надо. Плюс генерируется пользовательский GUI, плюс возможность задать внешние обработки, плюсь внешние формы и т.д. через неделю выпуск версии 1.0 :) Параллельно на ней написан верхний уровень МЕС. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 00:56 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 09:41 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават Юсифов wrote: > 1. Загоняете все таблицу в память > 2. Загоняете только нужные строки (как?) Используется т.н. кэш результатов запросов, который работает без ограничения размера этого кэша. Для каких-то запросов у формы есть возможность сказать, что его данные нужно кэшировать и они кэшируются на уровне всего приложения. У формы есть возможность обновлять кэш (т.е. инвалидировать кэш перед очередным запросом), а также у пользователя в форме делается спец. пункт меню, который обновляет все закэшированные справочники, используемые данной формой. > Что делаете если на одном поле показаны данные из разных таблиц > (Допустим, поле "Что входит" в узловых спецификациях может быть Деталь, > Материал, ПКИ и т.д.) Такой проблемы нет, поскольку данные для комбиков получаются запросами и запросы же кэшируются. Далее уже дело запроса свести эти данные в один набор. > Какую стратегию исползуете при вводе НОВЫХ данных? Новые данные добавляются, кэш запросов инвалидируется формой в части, касающейся этого комбика. Недопущение введения дублирующих данных -- вопрос особый, и с данным, думаю, никак не связан. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 12:16 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Похоже я вообще что-то не в тему ляпнул. Но в чём состоит тема - так и не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 12:20 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
MasterZiv, нормально ляпнул. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 12:22 |
|
Какую стратегию используете для заполнения источника LookUp полей?
|
|||
---|---|---|---|
#18+
Сахават ЮсифовАлександр Гoлдун, и причем тут Девекспресс??? и о каких демках идет речь? что то не понял юмора Просто мельком глянул картинки, увидел гриды с встроенными подчиненными гридами, вот и вспомнился DevExpress. Сахават Юсифов ты имеешь ввиду показать так? Это тоже есть, но как то неинтересно Нужно интересно или пригодно к использованию и не запределельно в разработке? Я стараюсь отдельно взятые формы не усложнять. Так по моему опыту гораздо лучше воспринимается пользователями. Если по кнопочке в отдельной форме юзеру откроется другое привычное представление, например содержимое заинтересовавшей спецификации, то это вполне адекватно воспринимается. А вот если по плюсикам схлопываются-расхлопываются целые области с кучей информации в том же окне, то такое по моему опыту хуже воспринимается, гораздо сильнее пестрит. Нет, чисто для отображения без правки такое еще куда ни шло, но навешивать в ту же схему еще и редактирование нецелесообразно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2009, 13:03 |
|
|
start [/forum/topic.php?fid=33&msg=36003707&tid=1548541]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 173ms |
0 / 0 |