在this question,中,我询问了如何将数据集分解为子集,并获得了良好的响应。现在我遇到了相反的问题。我有两个不同的数据集,表示共同祖先的两个不同子类的对象,我需要使用相同的TDBLookupComboBox同时搜索它们,使用父级中存在的两个属性ID#和Name类。
查找字段允许您从多个源字段查找内容,但仅在同一数据集中查找,而不是两个不同的数据集。查找控件只允许您指定一个要搜索的查找字段。有谁知道如何从两个数据集中获取数据以在组合框中一起显示?
答案 0 :(得分:3)
创建自己的TDBLookupComboBox,它接受多个数据源。 。 。 。我之前创建了DB感知控件(特别是下拉组合框)。它们很容易做到,并为您提供所需的一切控制。
答案 1 :(得分:2)
您可以将两个数据集中的记录克隆到包含两者的并集的新数据集中。
答案 2 :(得分:1)
答案在你所链接的original question。你说两个数据集的成员都有一个共同的祖先。因此,将所有这些对象记录放在单个TClientDataset上,然后对于您的两个后代数据集,只需让它们使用来自该基础数据集的克隆光标。因此,您可以访问它们作为不同的集合,或作为它们的一个组合集。
当然,如果没有共享基类的下级类中添加的任何数据,那么就会产生结果。 。 。
答案 3 :(得分:0)
创建一个实际上是其他TDataSet的联合的TDataSource或TDataSet后代。然后在插入时,您要么总是插入到一个特定的TDataSet中,要么根据某个字段的值来确定要插入哪个TDataSet的规则。 。 。