Delphi Firemonkey组合框在AdoTable中插入

Delphi Firemonkey组合框在AdoTable中插入,delphi,combobox,firemonkey,Delphi,Combobox,Firemonkey,因此,我一直在一个组合框的两个表之间使用LiveBindings来获取具有Item.lookUpdatea和Item.text属性的外键的Id和描述,并将该键分配给另一个具有SelectedValue属性的表中的字段。我想这很好,但我正在使用自定义dbnavigator控件来生成注册表表单。 我正在使用这样的方法进行插入:adotablealuno.FieldValues['Nome']:=editnomeAluno.Text; 但是我找不到如何以这种方式使用combobox,我已经尝试了Ite

因此,我一直在一个组合框的两个表之间使用LiveBindings来获取具有Item.lookUpdatea和Item.text属性的外键的Id和描述,并将该键分配给另一个具有SelectedValue属性的表中的字段。我想这很好,但我正在使用自定义dbnavigator控件来生成注册表表单。 我正在使用这样的方法进行插入:adotablealuno.FieldValues['Nome']:=editnomeAluno.Text;
但是我找不到如何以这种方式使用combobox,我已经尝试了ItemIndex和选定的属性,但是没有一个工作我正在使用Access DB顺便说一句。我如何在combobox中使用外键来实现这一点?

事实上我已经说明了这一点,很长一段时间没有好的答案。我找到了一个我目前正在使用的方法。至少我知道我会得到可靠的数据。 您需要以类似的方式处理LinkFillControlToField链接的OnFillingListItem事件,并将id号存储在组合框项目中。我使用Tag属性来实现这个目的,尽管它实际上并不好

procedure TForm1.LinkFillControlToField1FillingListItem(Sender: TObject;
  const AEditor: IBindListEditorItem);
begin
  (AEditor.CurrentObject as TListBoxItem).Tag :=
    YourLookuptable.FieldByName('id').AsInteger;
end;
然后从ListBox1.Selected.Tag获取项目id。可通过ComboBox1.Selected.text访问文本值

附加

您创建了一个相似的链接FillControlToField链接


然后,选择此链接并创建一个OnFillingListItem事件处理程序,以指向对象检查器中的“链接选择事件”选项卡,然后双击OnFillingListItem组合框。将出现事件处理程序空过程。它将被命名为TForm1.LinkFillControlToField1FillingListItem。。。然后编写代码,将id属性设置为items的标记。

我将尝试此方法。我只是不知道这是哪个控制。“我把它放在组合框或装订中了?”Guillermeraguzzoni我已经附上了我的答案,但是,我想你已经知道了。是的,我已经知道了,但是,你做了一个很好的补充=