Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Проблема с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.06 c
14-1086257689
AlexG
2004-06-03 14:14
2004.06.20
Борьба с региональными настройками.


3-1085657800
Serg
2004-05-27 15:36
2004.06.20
Строка соединения для MS SQL Server 2000


3-1085577800
starik30
2004-05-26 17:23
2004.06.20
Decimal


14-1086334044
WondeRu
2004-06-04 11:27
2004.06.20
Есть ли бесплатный вариант CORBA?


3-1085659688
Manfred8
2004-05-27 16:08
2004.06.20
Как использовать DBGridEh без таблички из БД?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский