Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Adding a Group at RunTime

edited September 2004 in General
I want to add group(s) at runtime. I'm not getting any errors, but they are
not showing up on the report. Below is my code, any help appreciated.

Kumar

for x := 1 to NumberOfcbSortsChecked do
begin
SetLength(ppGroups,Length(ppGroups)+1);
SetLength(ppGroupHeaderBands,Length(ppGroupHeaderBands)+1);
SetLength(ppGroupFooterBands,Length(ppGroupFooterBands)+1);
SetLength(ppGroupDataLabels,Length(ppGroupDataLabels)+1);
ppGroups[x-1] := TppGroup.Create(rptSales);
ppGroupHeaderBands[x-1] := TppGroupHeaderBand.Create(rptSales);
ppGroupFooterBands[x-1] := TppGroupFooterBand.Create(rptSales);
ppGroupDataLabels[x-1] := TppDBText.Create(rptSales);

ppGroups[x-1].DataPipeline := ppDBPipeline1;
ppGroups[x-1].BreakValue := ppGroupDataLabels[x-1].Text;

ppGroupHeaderBands[x-1].Height := 15;
ppGroupHeaderBands[x-1].SetGroup(ppGroups[x-1]);
ppGroupDataLabels[x-1].Band := ppGroupHeaderBands[x-1];
ppGroupDataLabels[x-1].Top := 2;
ppGroupDataLabels[x-1].Left := 3+((x-1)*5);
ppGroupDataLabels[x-1].DataPipeline := ppDBPipeline1;
ppGroupDataLabels[x-1].DataField := 'KeyValue'+IntToStr(x);
end;

Comments

  • edited September 2004
    Okay, I've got the Groups (and their Header Labels) showing now (by adding
    ppGroups[x-1].Report := ppReport1). However, it is not breaking properly.
    I'm trying to get the groups to break on a field assigned at run time. Here
    is what I'm trying, but is not working:

    ppGroups[x-1].BreakType := btDataField;
    ppGroups[x-1].Breaking := true;
    ppGroups[x-1].BreakValue := ppGroupDataLabels[x-1].FieldValue;


    TIA,
    -k-
  • edited September 2004
    never mind. got it!

    ppGroups[x-1].BreakName := 'KeyValue'+IntToStr(x);
This discussion has been closed.