![]() |
#21 |
Модератор
|
Re: просто и со вкусом :)
Цитата:
Изначально опубликовано Alexander A.
Просто как еще одна идея. Создать столько контролов на форме, сколько условий надо обработать. Делать только один visible в зависимости от условий на форме. Соответственно, столько же display-методов на таблице [/B] ![]() Цитата:
Изначально опубликовано konfet
В данной ситуации IMHO лучше использовать временную таблицу, которая будет заполняться в init-е. Никакого обмена данными с сервером после изначального быть не должно, так как временная таблица на клиенте. А если её еще сделать в виде датасурса и заджоинить с основной таблицей грида, то и вообще от дисплей-методов можно отказаться ![]() ![]() Даже когда никого в базе нет, и бд позволяет грязное чтение? ![]() И сколько такая таблица будет течь на клиента? А как её джойнить с нормальной на сервере ![]() С Уважением, Георгий |
|
![]() |
#22 |
Участник
|
Всем спасибо за советы! Лично я воспользовался решением, предложенным AndyD
![]()
__________________
Спокойствие, только спокойствие! (Астрид Линдгрен) |
|
![]() |
#23 |
Участник
|
Цитата:
Изначально опубликовано exceptor
Всем спасибо за советы! Лично я воспользовался решением, предложенным AndyD ![]() Так что на счет производительности можно очень поспорить /хотя бы на пиво/ ![]() Единственний плюс - это то, что данные можно кешировать через формы (к этому относиться и повторное открытие той же формы) |
|
![]() |
#24 |
Участник
|
Разница в том, что считывание происходит один раз для строки - при вызове дисплейного метода для кэширования
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#25 |
Участник
|
Цитата:
Изначально опубликовано Delfins
Единственний плюс - это то, что данные можно кешировать через формы (к этому относиться и повторное открытие той же формы)
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#26 |
Снова балуюсь косаптой :)
|
Цитата:
Г-н konfet ! Скажите, вы когда-нибудь пробовали заполнять темповую таблицу, ну, хотябы, строками накладных хотя бы за один год??
Даже когда никого в базе нет, и бд позволяет грязное чтение? Цитата:
И сколько такая таблица будет течь на клиента? А как её джойнить с нормальной на сервере
![]()
__________________
Бесты и регарды! |
|
![]() |
#27 |
Участник
|
При джойне к темповой таблице постоянной на сервер будут идти запросы для каждой строки темповой таблицы (по-моему, я уже могу эту фразу прицепить себе в подпись
![]() Цитата:
Кроме того, если данных много, можно всё сразу не забивать а использовать конструкцию типа "if exists <> else insert <>" - как советуют выше по треду для мапов.
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#28 |
Участник
|
Цитата:
Изначально опубликовано AndyD
Не могли бы вы пояснить, что имеется в виду? Сделал примерчик.. запустите форму, закройте и запустите еще раз... ПС: используя GlobalCache в формах надо clear-ить закешированые данные (по надобносте конечно) |
|
![]() |
#29 |
Участник
|
Ну это-то мне понятно. На то он и кэш.
Мне непонятна фраза про единственный плюс. Не могли бы вы поянить на примере, относящемся именно к дисплейным методам
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#30 |
Участник
|
Dopustim, est' kakoje to pole, vichislenie kotorogo zanimajet mogo vremenji.
Vichislili, zakeshirovali, pokazali... Est' vtoraja forma, gde takoe zhe pole nuzho pokazat'... vot i berem iz GlobalCache Konechno - redkij sluchaj... no vse taki... ![]() Realizacija GlobalCache takaja zhe, kak i self-made cache na formah (~ tot-ze v LedgerBalancepole v LedgerTable forme) PS: ne nado tak blizko vosprinimat' vsju sut' ![]() PPS: tak ili inache, s GlobalCache nado proverat'- est'li on v cache (isSet(owner,key)) |
|
![]() |
#31 |
Участник
|
Цитата:
ne nado tak blizko vosprinimat' vsju sut'
Возвращаясь к теме - использовать GlobalCache не для хранения вычисленных значений полей, а для передачи в дисплейный метод на таблице параметров, необходимых для вычисления. А кэшированием данных пусть занимается ядро, думаю в нем это реализовано эффективнее.
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#32 |
Участник
|
У меня такая задача.
Контрол на форме, в зависимости от его значения меняется контрол в гриде(дисплей метод на таблице). Используя infolog все работает почти хорошо ... Те данные, которые уже видны - они закэшировались. Листаем дальше все нормально. Подскажите, как обновить данные видимые на экране и уже закэшированные? Обновление по executeQuery() - не совсем удачное - смещается курсор |
|
![]() |
#33 |
Axapta
|
Цитата:
смещается курсор
|
|
![]() |
#34 |
Участник
|
Для обновления закешированных данных есть метод cacheCalculateMethod() на датасоурсе, но он обновляет только текущую запись.
Что бы быстро отпозиционировать на нужную запись по executeQuery() можно воспользоваться механизмом jumpref, т.е. заполнить lookupField() и lookupValue() для Args() формы
__________________
Axapta v.3.0 sp5 kr2 |
|
|
![]() |
||||
Тема | Ответов | |||
axaptapedia: Display method | 0 | |||
Grid и display-метод | 20 | |||
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? | 10 | |||
display() method on Grid Control | 5 | |||
edit и display методы | 4 |
|