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