Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: CL | DM;

Вниз

Проблема с LookUp полями   Найти похожие ветки 

 
Andrew_S   (2004-05-27 12:53) [0]

Добрый день.
Попытаюсь вкратце изложить суть проблемы:
Есть база оборудования на FireBird 1.5.
Каждое оборудование имеет принадлежность подстанции, распредустройству и ячейке. Есть таблицы подстанций, распредустройств и ячеек. Таблица распредустройств связана с т. подстанций, т. ячеек связана с таблицей распредустройств.
Есть также таблица оборудования, где есть поля с кодом подстанции, распредустройства и ячейки. Создал LookUp поля для вытаскивания названий подстанций, распредустройств и ячеек.

Выкинул на форму DBGrid привязанный к таблице оборудования. Так вот какой был замечен глюк - подстанции выбираются без проблем и имя подстанции нормально отображается в Lookup поле, а вот с распредустройствами и ячейками всё не так хорошо, выбор происходит нормально, однако при переходе на другую запись в таблице оборудования, LookUp поля распредустройств и ячеек не всегда отображают имена. Хотя если щёлкнуть на Lookup поле то в выпадающем списке выделено именно то имя которое должно отображатся.
Фух, объяснил как мог :), если не понятно попытаюсь объяснить получше...

Использую FibPlus, хотя с IBExpress тоже самое.
Может кто поможет советом?


 
Andrew_S   (2004-05-27 13:16) [1]

?


 
Соловьев ©   (2004-05-27 13:22) [2]

dcWaitEndMasterScroll - false?

>  вот с распредустройствами и ячейками

открыт этот датасет?


 
Andrew_S   (2004-05-27 13:39) [3]

dcWaitEndMasterScroll=true

>открыт этот датасет?
Конечно открыт


 
Соловьев ©   (2004-05-27 13:47) [4]


> dcWaitEndMasterScroll=true

а если false?


 
Andrew_S   (2004-05-27 13:52) [5]

Тот же результат. Данные в LookUp поле то появляюцца то пропадают. Чаще пропадают :(


 
Соловьев ©   (2004-05-27 14:07) [6]


>  вот с распредустройствами и ячейками

а у этого?


 
Johnmen ©   (2004-05-27 14:14) [7]

Неоднократно этот вопрос всплывал.
Надо включить кеширование лукапного поля.


 
Andrew_S   (2004-05-27 14:22) [8]

Давай я ещё разок всё расскажу...

Есть три таблицы:
 Подстанции
 Распредустройства
 Ячейки
Связаны они так  Подстанции <- Распредустройства
                Распредустройства <- Ячейки

В таблице оборудования есть три поля:
 Код подстанции, Код распредустройства, Код ячейки
Ещё для каждого из этих полей создано LoolUp поле.
Так вот LookUp поле подстанций работает нормально, а остальные LookUp-ы глючат. Если убрать связь между таблицами подстанций-распредустройств, распредустройств-ячеек, то все работает. Но мне нужно так что если выбрал подстанцию - в Lookup-е распредустр-в показывались только те , которые принадлежат выбранной подстанции, точно также если я выбрал распредустройство - при выборе ячеек выпадали только те которые ему принадлежат, вот.


 
Andrew_S   (2004-05-27 14:29) [9]

>Надо включить кеширование лукапного поля.
Включал, не помогает


 
Johnmen ©   (2004-05-27 14:36) [10]

Тебе нужна фильтрация. И, видимо, связь М-Д придется отключить и реализовать по-своему.


 
Andrew_S   (2004-05-27 14:43) [11]

Жаль.
Ручками это я уже сделал. Но хотелось попроще и покрасивей :(


 
Sergey13 ©   (2004-05-28 08:45) [12]

2Andrew_S   (27.05.04 14:43) [11]
Твоя проблема похоже в том, что твои датасеты подстанций, распредустройств и ячеек сделаны сделаны с мастер-детальной связкой. Т.е. в каждый момент времени видны все подстанции, а вот остальное только то, что соответствует текущим условиям, т.е. далеко не все. Естественно лукап-поля оборудования не видят того чего нет в этих датасетах.
Выход - или отказаться от лукапов (я бы так сделал) или снять М-Д с лукапных датасетов.


 
Andrew_S   (2004-05-28 11:12) [13]

Спасибо за ответ.

Связь датасетов нужна по логике, даже если я её делаю ручками (фильтрацией), всё равно лукапкомбобоксы глючат, хотя лукапполя заработали.


 
Sergey13 ©   (2004-05-28 11:19) [14]

2Andrew_S   (28.05.04 11:12) [13]
>Связь датасетов нужна по логике,
Опять же - или отказ от лукапов вообще (рекомендую) или можно извратиться открыв 2 одинаковых датасета, один для логики (с м-д или фильтрацией), другой только для лукапов без м-д привязок и фильтрации.


 
Andrew_S   (2004-05-28 11:26) [15]

>Sergey13 ©   (28.05.04 11:19) [14]

Так и сделал :), изврат ещё тот. Смотрю на него и думаю всё-таки от лукапов отказаться...


 
Sergey13 ©   (2004-05-28 11:46) [16]

2Andrew_S   (28.05.04 11:26) [15]
>Смотрю на него и думаю всё-таки от лукапов отказаться...
И это правильно. (с) М.С.Горбачев.
Добавлю  - во многих (не во всех!!!) случаях.



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
1-1086764457
AleXqwq
2004-06-09 11:00
2004.06.20
TreeView


1-1086581187
SkyRanger
2004-06-07 08:06
2004.06.20
Запись в файл


14-1085691642
k@rt
2004-05-28 01:00
2004.06.20
Эксперты


3-1085476371
VLAD-MAL
2004-05-25 13:12
2004.06.20
Синхронизация наборов данных.


1-1086426640
Maxud
2004-06-05 13:10
2004.06.20
Ошибка при проверке типа