2015-11-11 3 views
0

Итак, я использую LiveBindings между двумя таблицами в combobox, чтобы получить идентификатор и описание внешнего ключа (с параметрами Item.LookupData и Item.text) и назначить ключ поле в другой таблице с собственностью SelectedValue. Это нормально работает, но я использую пользовательские элементы управления dbnavigator, чтобы создать «регистрационную форму». Я использую такие методы, чтобы сделать вставки: adotablealuno.FieldValues['Nome']:=editnomeAluno.Text;
Но I'cant найдет, как использовать combobox таким образом, я уже пробовал свойства ItemIndex и Selected, но ни одна из этих работ (I ' м, используя бит БД доступа). Как я могу использовать мой внешний ключ в ComboBox для этого?Вставка Delphi Firemonkey ComboBox в AdoTable

ответ

2

На самом деле я уже говорил об этом question, и долгого ответа не было. Я нашел выход, который я сейчас использую. По крайней мере, я знаю, что получу надежные данные. Вам необходимо связаться OnFillingListItem связь между LinkFillControlToField и так далее, и сохранить идентификатор этого номера в ComboBox Предметы. Для этого я использую свойство Tag, хотя на самом деле это не так.

procedure TForm1.LinkFillControlToField1FillingListItem(Sender: TObject; 
    const AEditor: IBindListEditorItem); 
begin 
    (AEditor.CurrentObject as TListBoxItem).Tag := 
    YourLookuptable.FieldByName('id').AsInteger; 
end; 

И затем извлечь идентификатор элемента из списка ListBox1.Selected.Tag. Доступ к текстовому значению можно получить через ComboBox1.Selected.Text.

Добавлен.

Вы делаете одинаковый номер LinkFillControlToField. enter image description here

Затем вы выбираете эту ссылку и создать обработчик события OnFillingListItem на ссылку (выберите вкладку событий в инспекторе объектов и дважды щелкните на OnFillingListItem ComboBox). Появится обработчик событий (пустая процедура). Ему будет присвоено такое имя, как TForm1.LinkFillControlToField1FillingListItem(.... Затем вы записываете код, устанавливающий свойство id в теги элементов.

+0

Я попробую это. Я просто не получаю от этого контроля. Я помещал это в combobox или привязку? –

+0

@GuilhermeRaguzzoni Я приложил свой ответ, однако, я полагаю, что у вас это уже есть. –

+0

Да, я получил это уже, однако, вы сделали отличное дополнение =) –

Смежные вопросы