AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2007, 17:16   #1  
PavelSR is offline
PavelSR
Участник
 
97 / 10 (1) +
Регистрация: 25.05.2006
Двойное кэширование метода на таблице
Добрый день. Есть проблема: на форме два грида, используют два датасаурса с одной таблицей. Создаю поле на гриде(на обоих), вешаю дисплей метод (его я определяю на таблице). Фома работает, но когда я пытаюсь кэшировать этот метод то получается ерунда: в одном гриде при получении фокуса значение из контрола исчезает, в другом показывает одно и тоже значение.
Подскажите в чем дело?

Метод кэширую на обоих датасоурсах.
Старый 13.06.2007, 17:33   #2  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
А если кэширование на одном датасоурсе выключить работает все нормально? Сомневаюсь я.
Старый 13.06.2007, 17:36   #3  
PavelSR is offline
PavelSR
Участник
 
97 / 10 (1) +
Регистрация: 25.05.2006
Нет, если кэширование выглючить на одном датасоурсе, то кэширования не будет! А мне нужно!
Старый 13.06.2007, 17:37   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Насколько мне известно, глюков с кэшированием методов такого плана не было.
Во всяком случае, если мне не изменяет память, я так неоднократно делал.

1. Проверьте свойство DataSource на обоих гридах. Возможно вы установили один и тот же источник.
2. cacheAddMethod вы вызываете у объекта this в методе init() каждого из источников?
Старый 13.06.2007, 17:40   #5  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Нет, если кэширование выглючить на одном датасоурсе, то кэширования не будет! А мне нужно!
Как это не будет так на втором датасоурсе должно быть прописано кэширование, или я не прав? Я конечно понимаю что вам нужно кэширование на двух, но надо начинать с простого
Старый 13.06.2007, 17:42   #6  
PavelSR is offline
PavelSR
Участник
 
97 / 10 (1) +
Регистрация: 25.05.2006
Цитата:
Насколько мне известно, глюков с кэшированием методов такого плана не было.
Во всяком случае, если мне не изменяет память, я так неоднократно делал.

1. Проверьте свойство DataSource на обоих гридах. Возможно вы установили один и тот же источник.
2. cacheAddMethod вы вызываете у объекта this в методе init() каждого из источников?
1. нет источники разные
2. да, именно так, после super()
Старый 13.06.2007, 17:47   #7  
PavelSR is offline
PavelSR
Участник
 
97 / 10 (1) +
Регистрация: 25.05.2006
Цитата:
Сообщение от konopello Посмотреть сообщение
Как это не будет так на втором датасоурсе должно быть прописано кэширование, или я не прав? Я конечно понимаю что вам нужно кэширование на двух, но надо начинать с простого
Я пробовал кэшировать на одном источнике, но даже так при получении курсора значение(правильное) заменяется на первое в гриде.
Старый 13.06.2007, 17:52   #8  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Я пробовал кэшировать на одном источнике, но даже так при получении курсора значение(правильное) заменяется на первое в гриде.
ну.... раз на одном датасоурсе кэширование не работает, значит в чем то маленькая ошибка, я в таких случиях создаю одну пустую форму на которой все и тестирую.
Старый 14.06.2007, 08:04   #9  
PavelSR is offline
PavelSR
Участник
 
97 / 10 (1) +
Регистрация: 25.05.2006
Я разобрался, в чем была проблема и совсем не связана с количеством кэшируемых датасоурсов: на гриде был определен совсем другой датасоурс, не тот от которого я кэшировал матод. Причем интересно, если метод не кэшировать то все работает как должно, но если я пытаюсь закэшировать такой метод, то получается полная бяка.
Исправил легко: сделал так, чтобы датасоурсы совпадали на гриде и тот от которого я вызываю display метод.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтрование записей при "переходе к основной таблице" demID DAX: Программирование 10 18.11.2015 12:52
Использование метода merge на таблице Lucky13 DAX: Программирование 38 14.04.2011 11:12
вызов метода, динамически определённого на таблице wojzeh DAX: Программирование 3 01.08.2008 17:44
кэширование display метода macklakov DAX: Программирование 6 03.12.2005 14:58
фильтр по связанной таблице mick_777 DAX: Программирование 13 21.08.2002 16:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.