我想创建一个“重复记录”操作,在调用时,会复制任何TDataSet
后代中的当前记录。如何确定数据集是否为主/明细关系的主数据集?使用TClientDataSet
它很容易,但我需要将此操作与TDataSet
的所有后代一起使用。
答案 0 :(得分:10)
您应该调用TDataSet
。GetDetailDataSets
方法。如果列表不为空,则此数据集是列表中数据集的主数据集。例如:
var
oDetails: TList;
lIsMaster: Boolean;
...
oDetails := TList.Create;
try
myDataSet.GetDetailDataSets(oDetails);
lIsMaster := oDetails.Count > 0;
finally
oDetails.Free;
end;