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