Is there a way to add/change the MasterFieldLinks property at runtime? I have been trying to figure out how to do this and cannot figure it out. THanks
The following article should help get you on the right track...
--------------------------------------------------------- Tech Tip: Define Master/Detail DataPipeline Links in Code ---------------------------------------------------------
Defining a Master/Detail relationship for a DataPipeline requires that the detail pipeline have the following properties defined:
1. MasterDataPipeline
2. MasterFieldLinks
At Delphi design-time you can use the object inspector and the DataPipeline's FieldLinks editor to define the master/detail relationship.
The following example illustrates how to define the master/detail relationship dynamically at run-time.
var lFieldLink: TppMasterFieldLink;
begin
{define the master/detail pipeline relationship} plDetail.MasterDataPipeline := plMaster;
{create a new field link } lFieldLink := TppMasterFieldLink.Create(nil);
lFieldLink.Parent := plDetail;
{assign the detail field name} lFieldLink.DetailFieldName := 'CustNo';
{assign the master field name} lFieldLink.MasterFieldName := 'CustNo';
end;
Note: The DataPipeline linking requires the records in the detail dataset to be ordered by the linking fields. In the above example, the detail data must be ordered by CustNo.
Comments
The following article should help get you on the right track...
---------------------------------------------------------
Tech Tip: Define Master/Detail DataPipeline Links in Code
---------------------------------------------------------
Defining a Master/Detail relationship for a DataPipeline
requires that the detail pipeline have the
following properties defined:
1. MasterDataPipeline
2. MasterFieldLinks
At Delphi design-time you can use the object inspector
and the DataPipeline's FieldLinks editor to define
the master/detail relationship.
The following example illustrates how to define the
master/detail relationship dynamically at run-time.
var
lFieldLink: TppMasterFieldLink;
begin
{define the master/detail pipeline relationship}
plDetail.MasterDataPipeline := plMaster;
{create a new field link }
lFieldLink := TppMasterFieldLink.Create(nil);
lFieldLink.Parent := plDetail;
{assign the detail field name}
lFieldLink.DetailFieldName := 'CustNo';
{assign the master field name}
lFieldLink.MasterFieldName := 'CustNo';
end;
Note: The DataPipeline linking requires the records in the detail dataset to
be ordered by the linking fields. In the above example, the detail data must
be ordered by CustNo.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com