如何获取FMX.ListView.TListView所选项目的数据集行?

时间:2017-11-19 15:31:09

标签: delphi firemonkey delphi-10.2-tokyo

我的问题涉及在Delphi 10.2 Tokyo中使用Firemonkey TListView。

我有一个带有ListView的FMX表单和ItemAppearance.ItemApearance =,它允许我添加任意数量的TTextObjectAppearance项目。

TListView通过TBindSourceDB将LiveBindings添加到TFDQuery字段。我的所有字段都显示在ListView中我想要它们。

我不希望将该查询的主键显示给用户,但我希望能够在用户选择列表视图中的项目后接收主键。

目标是能够在TFDQuery数据集中找到包含生成下一个屏幕所需的其他信息列的行。

我非常感谢你的建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

基于asd-tm评论的TListView解决方案为我工作。

有关原始帖子,请参阅this

procedure TForm1.LinkFillControlToFieldPKFillingListItem(Sender:
    TObject; const AEditor: IBindListEditorItem);
begin
  (AEditor.CurrentObject as TListItem).Tag := FDQuery1.FieldByName('PK').AsInteger;
end;


procedure TForm1.ListView1ItemClick(const Sender: TObject; const
    AItem: TListViewItem);
begin
  FDQuery1.IndexFieldNames := 'PK';
  FDQuery1.SetKey;
  FDQuery1.FieldByName('PK').AsInteger := AItem.Tag;
  if FDQuery1.GotoKey then
    //...
end;