我有一个TSQLDataset,我使用livebindings将它绑定到列表框。当我点击列表框项目时,我希望能够从记录中访问其他数据字段,但我无法弄清楚如何操作,因为我无法将数据集添加到相应的项目中。
我知道我可以使用ID字段并可能使用实时绑定将其分配给Selected.Tag
,但也无法解决这个问题,但如果可以,那么我可以使用另一个SQLQuery,然后只返回结果查询
SELECT * FROM Dataset WHERE ID=(Tag value)
这样可行,但我不知道如何在实时绑定填充列表框时让livebindings设置items标记值。
有谁知道如何使这项工作?
答案 0 :(得分:1)
将ListBox的Tag属性与记录的ID链接起来更容易。
答案 1 :(得分:-1)
Embacadero在XE5 Samples目录中有一个传感器信息演示应用程序......
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;
如果有帮助,请给我们回电。