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

Вниз

Один 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.044 c
6-1084714922
Mag
2004-05-16 17:42
2004.07.18
Отправка значения на web server


14-1088439658
VMcL
2004-06-28 20:20
2004.07.18
Отличные формы


14-1088671960
Vlad Oshin
2004-07-01 12:52
2004.07.18
У кого нить осталась ветка, где мы стихи писали на паскале?


1-1089106905
YA
2004-07-06 13:41
2004.07.18
траблы с библиотекой


3-1087803470
Jann
2004-06-21 11:37
2004.07.18
Индексные файлы