2012-08-28 9 views
6

"Duplicate Record"アクションを作成して、呼び出されたときに任意のTDataSet子孫の現在のレコードを複製します。データセットがマスター/詳細関係のマスターデータセットであるかどうかを調べるにはどうすればよいですか? TClientDataSetではかなり簡単ですが、私はTDataSetのすべての子孫と共に使用するにはこのアクションが必要です。DataSetがDelphiのマスター/詳細関係のマスターであるかどうかを確認するにはどうすればよいですか?

答えて

10

TDataSetに電話する必要があります。 GetDetailDataSets方法。リストが空でない場合、このデータセットはリスト内のデータセットのマスターデータセットです。たとえば、

var 
    oDetails: TList; 
    lIsMaster: Boolean; 
... 
    oDetails := TList.Create; 
    try 
    myDataSet.GetDetailDataSets(oDetails); 
    lIsMaster := oDetails.Count > 0; 
    finally 
    oDetails.Free; 
    end;