1 (edited by Hram 2014-07-16 12:25:43)

Topic: И опять ComboBox (костыль)

Имеется 3 ComboBox и следующий код.

procedure Form1_Combobox1_OnChange (Sender: string);
begin
Form1.Combobox2.dbItemID:= Form1.Combobox1.dbItemID;
end;

У Combobox3 в свойствах ParentCombobox стоит Combobox2. При изменении значения Combobox1 значение Combobox2 изменяется, но процедура ParentCombobox у 3-го не работает, только если руками не выбрать значение в Combobox2.

Re: И опять ComboBox (костыль)

Есть такая проблема, т.к. событие OnChange срабатывает только от действия пользователя, но не от скрипта, для решения проблемы добавил метод DoOnChange, который принудительно даст понять ComboBox-у что его значение изменилось.

т.о. код будет таким

procedure Form1_Combobox1_OnChange (Sender: string);
begin
  Form1.Combobox2.dbItemID:= Form1.Combobox1.dbItemID;
  Form1.Combobox2.DoOnChange;
end;

но перед этим скачайте версию 1.42
https://www.dropbox.com/s/d7kwefk558xlv … 201.42.zip

Dmitry.

Re: И опять ComboBox (костыль)

А можно добавить ClearSelection для Combobox?

Re: И опять ComboBox (костыль)

а что именно оно должно делать?

Dmitry.

5 (edited by Hram 2014-07-21 04:20:50)

Re: И опять ComboBox (костыль)

Очищать значение Combobox. В принципе, сделал Combobox1.ItemIndex:=-1.
Update.
Все таки "поиск" -великая вещь. Для таких же как я - http://myvisualdatabase.com/forum/viewtopic.php?id=195