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
.
How can I find if a DataSet is the master in a master/detail relationship in Delphi?
Asked Answered
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;
© 2022 - 2024 — McMap. All rights reserved.