Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > LookupComboBox фильтр на этапе добавления записи


Автор: Boing747 29.9.2009, 14:17
Вобщем, не знаю, как грамотно решить проблему с фильтрацией. Упростил пример проблемы, суть такова.
Есть таблица с полями ID, WORKER_ID. WORKER_ID - это LookupComboBox , по такому ID берется название работы. Логически получается так, что, нельзя, чтобы в этой таблице WORKER_ID повторялась, т е WORKER_ID должен быть уникальным. Как сделать, чтобы на этапе добавления, редактирования запипси, в выпадающем списке были только те  работы, которых еще нету в таблице?

Если я делаю в запросе, который отвечает, за отображение, работы, то в выпадающем списке все показывается нормально, но тогда не показываются те записи, которые внесены уже в таблицу.

Пример:

Всего список работ
ID NAME
1 Работа1
2 Работа2
3 Работа3
4 Работа4
5 Работа5

В таблицу внесены
ID WORK_ID
1   1
2   4

Теперь, при добавлении новай записи, хочется видеть следующий список работ
Работа2
Работа3
Работа5

Но при этом, чтобы не исчезали названия, уже внесенные в таблицу: Работа1 и Работа4

Буду благодарен, если поможете)



Автор: Frees 29.9.2009, 14:46
в селект для лукапа допиши условие исключающее не нужшые записи 

или на смене работы изменяй значения фильтра(filter filtered F1)

Автор: Boing747 29.9.2009, 14:57
Цитата(Frees @ 29.9.2009,  14:46)
в селект для лукапа допиши условие исключающее не нужшые записи 

или на смене работы изменяй значения фильтра(filter filtered F1)

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

Если изменяю фильтр во время добавления/редактирования, то получается следующая картина.
1) Все записи показываются, которые есть в таблице.
2) Добавляю запись.
3) Меняю фильтр, исключая уже существующие записи.
4) Исчезают все остальные записи в таблице, так как они были исключены.
5) Закончил добавление.
6) Отменяю фильтр.
7) Записи все появляются, так как фильтр был отменен.


Можно ли сделать без исчезания записей во время добавления/редактирования.

Надеюсь понятно объяснил проблему)

Автор: Boing747 30.9.2009, 09:50
Идей нету?

Автор: Vas 30.9.2009, 11:58
Цитата(Boing747 @  29.9.2009,  14:57 Найти цитируемый пост)
Если изменяю селект для лукапа(исключаю уже введенные записи) то да в лукапе будет все нормально, однако сразу исчезают записи которые уже введены, так как они были исключены. Смысл в том, чтобы этот фильтр отработал только при добавлении, редактировании записи...

Странно, а для лукапа и таблицы случаем не один и тот же датасет используется?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)