如何在Firemonkey Delphi中获取TListView选定项的值

如何在Firemonkey Delphi中获取TListView选定项的值,delphi,firemonkey,firedac,livebindings,tlistview,Delphi,Firemonkey,Firedac,Livebindings,Tlistview,我有一个TListView,其中使用Livebindings填充了来自TFDQuery的数据 我想获取所选项目的值,如item.text、itemheader.text等。我已经通过listview1.itemindex找到了所选项目,但获取值对我来说是一件困难的事情。我是TListView和livebindings的新手。我已经花了一天多的时间在互联网上寻找答案,但是看起来太复杂了,不可能完成一项简单的任务。我知道有一种直接的方法 有人愿意分享一些关于如何获取listview所选项目值的线索(

我有一个TListView,其中使用Livebindings填充了来自TFDQuery的数据

我想获取所选项目的值,如item.text、itemheader.text等。我已经通过listview1.itemindex找到了所选项目,但获取值对我来说是一件困难的事情。我是TListView和livebindings的新手。我已经花了一天多的时间在互联网上寻找答案,但是看起来太复杂了,不可能完成一项简单的任务。我知道有一种直接的方法

有人愿意分享一些关于如何获取listview所选项目值的线索(代码)吗

更多详情: 我使用的是Livebindings动态外观。我为我的查询字段创建了项,并将它们相应地映射到我的TListView

碰巧我没有使用默认的item.text,而是将字段映射到我创建的项,如item.text1、item.text2、item.item3


因此,这就是为什么我没有从下面MartynA给出的公式中得到标题的原因。

也许我没有领会你的意思(在这种情况下,我将删除此内容),但以下FMXcode对我来说很好:

procedure TForm1.Button2Click(Sender: TObject);
var
  Index : Integer;
begin
  Index := ListView1.ItemIndex;
  if Index >= 0 then
    Caption := ListView1.Items[Index].Text;
//  OR  ShowMessage(ListView1.Items[Index].Text);
//  OR  Label1.Text := ListView1.Items[Index].Text;

end;

也许我没有领会你的意思(在这种情况下,我将删除此内容),但以下FMXcode对我来说很好:

procedure TForm1.Button2Click(Sender: TObject);
var
  Index : Integer;
begin
  Index := ListView1.ItemIndex;
  if Index >= 0 then
    Caption := ListView1.Items[Index].Text;
//  OR  ShowMessage(ListView1.Items[Index].Text);
//  OR  Label1.Text := ListView1.Items[Index].Text;

end;


@LURD我尝试使用show message访问项目,但没有结果。我认为这是一个数组。你能给出一个简短的代码来至少生成这些项目吗?var:sample:string;示例:=lsvSize.Items[lsvSize.ItemIndex].ToString;ShowMessage(示例)<代码>示例:=lsvSize.Items[lsvSize.ItemIndex]。标题将为您提供
标题
属性。另一个属性是
子项
。看到了吗?你漏掉了最重要的细节:你是在问VCL TListView还是FireMonkey?@MartynA,你问得真好!我在问有关firemonkey的问题。我的错!抱歉,我对此不太清楚。这就是为什么我无法推动@LURD的建议,因为他指向vcl属性。@LURD我尝试使用show message访问项目,但没有结果。我认为这是一个数组。你能给出一个简短的代码来至少生成这些项目吗?var:sample:string;示例:=lsvSize.Items[lsvSize.ItemIndex].ToString;ShowMessage(示例)<代码>示例:=lsvSize.Items[lsvSize.ItemIndex]。标题将为您提供
标题
属性。另一个属性是
子项
。看到了吗?你漏掉了最重要的细节:你是在问VCL TListView还是FireMonkey?@MartynA,你问得真好!我在问有关firemonkey的问题。我的错!抱歉,我对此不太清楚。这就是为什么我不能推动@LURD的建议,因为他指向vcl属性。我用ShowMessage尝试了您的过程。我得到了正确的ItemIndex,但是标题没有显示任何内容。它是空的。对不起,在没有看到你的.FMX文件的情况下,我不知道为什么会这样,但我在答案中添加的备选方案也都很有效,所以这没有回答你的问题吗?我会提出MRE。给我一分钟。我不会再给你MRE了,因为我已经找到了我失踪的地方。我错误地将标题映射到livebindings中创建的项,而不是默认的item.text。现在,我得到了正确的标题。你的回答确实有帮助。我将改进我的问题并删除不相关的细节。我已使用ShowMessage尝试了您的过程。我得到了正确的ItemIndex,但是标题没有显示任何内容。它是空的。对不起,在没有看到你的.FMX文件的情况下,我不知道为什么会这样,但我在答案中添加的备选方案也都很有效,所以这没有回答你的问题吗?我会提出MRE。给我一分钟。我不会再给你MRE了,因为我已经找到了我失踪的地方。我错误地将标题映射到livebindings中创建的项,而不是默认的item.text。现在,我得到了正确的标题。你的回答确实有帮助。我将改进我的问题并删除不相关的细节。