1

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

SELECT * FROM Dataset WHERE ID=(Tag value)

那会起作用,但是当实时绑定填充列表框时,我不知道如何获取实时绑定来设置项目标记值。

有谁知道如何使这项工作?

4

2 回答 2

1

将 ListBox 的 Tag 属性与记录的 ID 链接起来更容易。

于 2014-01-11T16:31:17.537 回答
-1

在 XE5 Samples 目录中有一个来自 Embarcadero 的 Sensor Info 演示应用程序...

在 TListBox 事件中,您OnItemClick = lbMainItemClick必须定义事件处理程序:

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;

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

于 2014-01-03T11:58:36.407 回答