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

Вниз

Один ListSource на два DBLookupComboBox   Найти похожие ветки 

 
Сергей Непочатов   (2004-06-18 17:31) [0]

На форме есть два компонента DBLookupComboBoxEh, в которых отображаются два поля из одной таблицы.
ListSource, ListField, KeyField у них один.
Надо, чтобы в выпадающем списке были разные наборы данных.
По событию OnDropDown я устанавливаю фильтр в датасете, который ListSource, а по событию OnCloseUp его отменяю. Все хорошо, только после выбора в одном комбобоксе другой пуст. Как это обойти?


 
Johnmen ©   (2004-06-18 17:33) [1]

Вкл. кеширование лукапного поля.


 
Сергей Непочатов   (2004-06-18 17:41) [2]

Это как?


 
Сергей Непочатов   (2004-06-18 17:43) [3]

Спасибо, заработало. :-)


 
Сергей Непочатов   (2004-06-21 09:35) [4]

А вот и не совсем! :-)
Если запись новая, то при выборе во втором боксе информация в первом не пропадает, а если редактирую существующую - трабл остается. :-(
Может у кого еще идеи есть?


 
Johnmen ©   (2004-06-21 09:48) [5]

Причем тут идеи ?
Надо использовать вещь по назначению, в соответствии с прилагаемой инструкцией. И не ожидать, что пылесос может постирать носки...:)

Короче. У меня проблем нет. У тебя - есть. Значит у тебя ошибки...


 
Сергей Непочатов   (2004-06-21 10:01) [6]

В хелпе написано, что свойство LookupCache - только для Lookup-полей. А у меня поля типа fkData.


 
Johnmen ©   (2004-06-21 10:20) [7]

>Если запись новая...

Где новая ?

>А у меня поля типа fkData

Я уже перестаю понимать, в чем проблема...:)


 
Сергей Непочатов   (2004-06-21 11:50) [8]

Тара и товары лежат в таблице Tara. В форме для формирования накладной есть два DBLookupComboBoxEh, в которых отображаются два поля из накладной, таблица Nakl. А ListSource у них - Tara. По событию OnDropDown я устанавливаю фильтр в Tara, чтобы в выпадающем списке была только тара, а по зарытию списка фильтр отменяю. В другом комбобоксе я делаю то же самое, но фильтр на Tara устанавливаю такой, чтобы в списке были видны только товары.
Но после закрытия списка в одном к-боксе в другом - пусто!


 
Johnmen ©   (2004-06-21 12:00) [9]

>Но после закрытия списка в одном к-боксе

Что означает "закрытие списка" ?


 
Сергей Непочатов   (2004-06-21 14:08) [10]

procedure TFormParty.DBLookupComboBox1DropDown(Sender: TObject);
begin
 sdsTara.Filter := "PARENT_IDP = 8000000";
 sdsTara.Filtered := True;
end;

procedure TFormParty.DBLookupComboBox1CloseUp(Sender: TObject;
 Accept: Boolean);
begin
 sdsTara.Filtered := False;
 sdsTara.Refresh;
end;

А список звкрывается автоматически после того как юзер выбрал значение из выпадающего списка.


 
Johnmen ©   (2004-06-21 14:14) [11]

>sdsTara.Refresh;

Это зачем ?

Кеширование включено ?

>Если запись новая...

Где новая ?


 
Сергей Непочатов   (2004-06-21 14:21) [12]

Refresh - просто для уверенности, без него работает также.

А кеширование чего надо? Я включал кэширование всех участвующих полей во всех таблицах.

Новая запись в накладных Nakl.


 
Johnmen ©   (2004-06-21 14:58) [13]

Надо LookupCache=True для лукапных полей Nakl, которые ссылаются на sdsTara.
В DBLookupComboBoxEh прописываются DataFiled, DataSource, ListField, ListSource, KeyField.
Всё должно работать...


 
Сергей Непочатов   (2004-06-21 16:33) [14]

Все так, но не работает. :-(
Получается, что фильтр установлен, данные в комбобоксе обновлены (пусто, нет в таблице), фильтр отменен, а данные в комбобоксе не обновляются.


 
Johnmen ©   (2004-06-21 16:50) [15]

Ставь и убирай фильтр по другим событиям...
...


 
Сергей Непочатов   (2004-06-21 17:33) [16]

Да пробовал уже и по OnEnter - OnExit, и по OnEnter - OnChange


 
Johnmen ©   (2004-06-21 17:52) [17]

Всё должно работать...
if <это не так> then <ошибка в другом месте>;



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

Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.054 c
4-1086505717
SPeller
2004-06-06 11:08
2004.07.18
Исправить дамп РЕ чтоб запускался


1-1089000676
newver
2004-07-05 08:11
2004.07.18
Передача данных в программу.


4-1086243896
ikivio
2004-06-03 10:24
2004.07.18
Диалог выбора файла.


14-1088426606
Sodom
2004-06-28 16:43
2004.07.18
Доменная авторизация. Создание своего модуля к apache.


3-1087551984
SergBlack
2004-06-18 13:46
2004.07.18
Как создать автоинкрементное поле в таблице FireBird





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский