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
.
Asked
Active
Viewed 606 times
6

iMan Biglari
- 4,674
- 1
- 38
- 83
1 Answers
10
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;

da-soft
- 7,670
- 28
- 36