![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сброс Lookup поля [D7, IB6.x]
REA © (2004-08-17 13:37:00)У меня есть составной ключ из двух полей: типи модельи два Lookup поля соответственно для выбора значений ключа.
При выборе из значений первого и затем второго поля в диалоге все работает как положено (выбираются только те модели, которые соответствуют уже выбранному типу), но затем при смене типа модель не очищается и получается, что модель не от того типа (визуально, при Post разумеется возникает конфликт).
Вопрос: можно ли автоматически сделать схему очистки значения поля модели (при редактировании), если выбран не соответствующий ей тип?
Пока можно добиться этого вручную проверками.
REA (2004-08-17 17:29:00) [1]>А ты все это дело в гриде наверное вводишь?
Нет. Двумя LookupComboBox.
Сейчас пока выкрутился так (немного сократил названия):
После вставки записи назначаю:
TYPEID.Value := dmReferences.TypesTYPEID.Value; // Первое попавшееся поле лишь бы не пустое. Избавляет от неопределенности [2].
При смене значения TYPE:
If Not dmReferences.Types.Locate(MODEL.FieldName,
MODEL.Value,[]) Then
MODEL.Value := dmReferences.MODEL.Value; // Если тип не тот (нет такой модели для выбранного типа), то берем первое попавшееся значение. Избавляет от несовпадения [0].
Sergey13 (2004-08-17 16:56:00) [2]2[2] REA © (17.08.04 15:51)
У тебя ИМХО нестыковка идет между М-Д связью справочников и то, что они являются источником для лукап-полей. А ты все это дело в гриде наверное вводишь?
REA (2004-08-17 15:51:00) [3]Подробнее:
есть таблица (1) с указнными полями и два исходных справочника, которые связаны Master-Detail (2,3).
DataSet тут повидимому не при чем, т.к. после выбора значение попадает в таблицу (1)
Ситуация усложняется еще и тем, что даже если в поле Тип ничего не выбрано, то, поскольку таблицы 2 и 3 открыты, в поле Модель уже есть значения для выбора. Что то я не так делаю, но не пойму что именно.
Desdechado (2004-08-17 15:27:00) [4]а ты на второй датасет фильтр по значению из первого накладывай