我正在 Delphi 中构建一个表单,它有一个服务下拉列表和一个用于选择服务的附加组件网格。我得到的数据来自 API,我将服务的数据存储在 ADODataSet 中,如下所示:
ID (integer)
Name (string)
Description (string)
BasePrice (currency)
AddOns (array of AddOn, not currently stored in the ADODataSet)
我想让网格根据下拉列表中的选择填充插件数据(每个服务都有不同的插件列表)。如何存储 AddOn 信息以便它可以与服务信息相关联?我需要创建第二个 ADODataSet 还是有办法将其存储在与服务相同的 ADODataSet 中?
附加组件具有以下字段:
ID (integer)
Name (string)
Description (string)
UnitPrice (currency)
Quantity (integer)
我正在使用 Delphi 2005 并且有 Indy for Delphi。
编辑
在挖掘数据集的字段编辑器时,我发现我可以创建一个“数据集”类型的字段。这能让我把两者联系在一起吗?如果是这样,有人可以解释这是如何完成的吗?
我尝试通过创建第二个数据集 (ADODataSetAddOns) 并将新数据集分配给第一个数据集 (ADODataSetServices.AddOns) 中的数据集字段来做到这一点,但收到错误消息“数据集没有匹配的 ADO 数据类型”,我假设是参考 AddOns 字段未找到数据集。