I want to create a "Duplicate Record" action which when invoked, duplicates current record in any TDataSet descendant. How can I find out if the dataset is the master dataset of a master/detail relationship? With TClientDataSet it's rather easy, but I need this action to be used with all descendants of TDataSet.
You should call TDataSet.GetDetailDataSets method. If the list is not empty, then this dataset is the master dataset for the datasets in the list. For example:
var
oDetails: TList;
lIsMaster: Boolean;
...
oDetails := TList.Create;
try
myDataSet.GetDetailDataSets(oDetails);
lIsMaster := oDetails.Count > 0;
finally
oDetails.Free;
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With