Delphi 使用LiveBindings选择ListBox后如何访问数据记录

Delphi 使用LiveBindings选择ListBox后如何访问数据记录,delphi,delphi-xe4,listboxitems,livebindings,Delphi,Delphi Xe4,Listboxitems,Livebindings,我有一个TSQLDataset,我使用livebindings将它绑定到一个列表框。单击列表框项目时,我希望能够访问记录中的其他数据字段,但我无法确定如何访问,因为我无法将数据集获取到相应的项目。 我知道我可能会使用live Binding获取ID字段,并可能将其分配给Selected.Tag,但我也无法理解,但如果可以,我可以使用另一个SQLQuery,然后只返回查询结果 从数据集中选择*,其中ID=(标记值) 这会起作用,但我不知道如何让livebindings在livebindings填充

我有一个TSQLDataset,我使用livebindings将它绑定到一个列表框。单击列表框项目时,我希望能够访问记录中的其他数据字段,但我无法确定如何访问,因为我无法将数据集获取到相应的项目。
我知道我可能会使用live Binding获取ID字段,并可能将其分配给
Selected.Tag
,但我也无法理解,但如果可以,我可以使用另一个SQLQuery,然后只返回查询结果

从数据集中选择*,其中ID=(标记值)

这会起作用,但我不知道如何让livebindings在livebindings填充Listbox时设置items标记值


有人知道如何做到这一点吗?

XE5示例目录中有一个来自Embarcadero的传感器信息演示应用程序

这里有
OnItemClick=lbmainitem单击TListBox事件中的
,然后必须定义事件处理程序:

procedure TfrmAboutSensors.lbMainItemClick(const Sender: TCustomListBox; const Item: TListBoxItem);
begin
  if Assigned(Item.OnClick) then
    Item.OnClick(Item);
end;
然后对于列表中的每一项:

for LItem in LListBox do
begin
    //LItem.ItemData.Accessory := TListBoxItemData.TAccessory.aDetail;  // my code
    //LItem.ItemData.Accessory := TListBoxItemData.TAccessory.aNone;    // my code
    LItem.OnClick := ListBoxItemClick;
end;

如果有帮助,请给我们回拨。

将列表框的标记属性与记录的ID链接起来更容易。

这个答案并没有解决实际的问题-如何确定和访问列表框中选择的db记录。您是否解决过这个问题,因为我现在遇到了同样的问题?