Topic: Управление из скрипта дочерним комбобоксом
На форме "Проект" есть комбобокс "Клиент" и связанный с ним комбобокс "Контактное лицо".
С этой формы открываю форму "Список клиентов" и выбираю из таблицы нужного клиента.
Перед закрытием формы Списка клиентов кидаю выбранного клиента в комбобокс на форме Проект:
...
Frm_Project.ComboBox_Client_Name.dbItemID := Frm_Client_List.TableGrid_Client_List.dbItemID; // ID клиента
...
Комбобокс Контактное лицо на форме Проект как положено получает список контактных лиц выбранного клиента.
Соответственно, контактное лицо можно выбрать вручную.
Однако, мой скрипт имеет также и ID контактного лица, которого нужно скриптом установить в комбобоксе "Контактное лицо".
Пытаюсь это сделать так:
Frm_Project.ComboBox_Project_Contact_Person.dbItemID := StrToInt(idContactPerson);
Если после этого кода проверить содержимое этого комбобокса, то он как положено содержит значение нужного контактного лица.
Однако, комбобокс на форме Проект как был в неопределенном значении, так и остается.
Если же отвязать комбобокс контактных лиц от клиентов, то код срабатывает как надо и комбобокс отображает нужное контактное лицо установленное скриптом.
Но в нем, понятно, виден список всех контактных лиц и от других клиентов.
.
Вопрос - как программно установить отображение нужного значения привязанного комбобокса (т.е. увидеть это на форме)?
Сейчас код такой:
Frm_Project.ComboBox_Client_Name.dbItemID := Frm_Client_List.TableGrid_Client_List.dbItemID; // ID клиента
Frm_Project.ComboBox_Client_Name.DoOnChange;
Frm_Project.ComboBox_Project_Contact_Person.dbItemID := StrToInt(idContactPerson);
Но, он работает только если комбобоксы не связаны.