Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.02 c
3-1087558438
alsov
2004-06-18 15:33
2004.07.18
Клиент для Оракл без установки стандартного


1-1088667459
NAlexey
2004-07-01 11:37
2004.07.18
Не срабатывает событие OnMeasureItem у ListBox


6-1084859339
Сергей12
2004-05-18 09:48
2004.07.18
Соединение Client Server


14-1088102829
Knight
2004-06-24 22:47
2004.07.18
Моторола C350... что, правда, брать не стоит?


4-1086685199
MU
2004-06-08 12:59
2004.07.18
Информация о ресурсах системы




   Наверх