![]() |
#1 |
Участник
|
Двойное кэширование метода на таблице
Добрый день. Есть проблема: на форме два грида, используют два датасаурса с одной таблицей. Создаю поле на гриде(на обоих), вешаю дисплей метод (его я определяю на таблице). Фома работает, но когда я пытаюсь кэшировать этот метод то получается ерунда: в одном гриде при получении фокуса значение из контрола исчезает, в другом показывает одно и тоже значение.
Подскажите в чем дело? Метод кэширую на обоих датасоурсах. |
|
![]() |
#2 |
SAP
|
А если кэширование на одном датасоурсе выключить работает все нормально? Сомневаюсь я.
|
|
![]() |
#3 |
Участник
|
Нет, если кэширование выглючить на одном датасоурсе, то кэширования не будет! А мне нужно!
|
|
![]() |
#4 |
Участник
|
Насколько мне известно, глюков с кэшированием методов такого плана не было.
Во всяком случае, если мне не изменяет память, я так неоднократно делал. 1. Проверьте свойство DataSource на обоих гридах. Возможно вы установили один и тот же источник. 2. cacheAddMethod вы вызываете у объекта this в методе init() каждого из источников? |
|
![]() |
#5 |
SAP
|
Цитата:
Нет, если кэширование выглючить на одном датасоурсе, то кэширования не будет! А мне нужно!
|
|
![]() |
#6 |
Участник
|
Цитата:
Насколько мне известно, глюков с кэшированием методов такого плана не было.
Во всяком случае, если мне не изменяет память, я так неоднократно делал. 1. Проверьте свойство DataSource на обоих гридах. Возможно вы установили один и тот же источник. 2. cacheAddMethod вы вызываете у объекта this в методе init() каждого из источников? 2. да, именно так, после super() |
|
![]() |
#7 |
Участник
|
Я пробовал кэшировать на одном источнике, но даже так при получении курсора значение(правильное) заменяется на первое в гриде.
|
|
![]() |
#8 |
SAP
|
Цитата:
Я пробовал кэшировать на одном источнике, но даже так при получении курсора значение(правильное) заменяется на первое в гриде.
|
|
![]() |
#9 |
Участник
|
Я разобрался, в чем была проблема и совсем не связана с количеством кэшируемых датасоурсов: на гриде был определен совсем другой датасоурс, не тот от которого я кэшировал матод. Причем интересно, если метод не кэшировать то все работает как должно, но если я пытаюсь закэшировать такой метод, то получается полная бяка.
Исправил легко: сделал так, чтобы датасоурсы совпадали на гриде и тот от которого я вызываю display метод. |
|