Строю отчет при помощи кода, ставлю бенды GroupHeader и MasterData, вывожу полученный отчет MasterData печатается, а GroupHeader нет, как это исправить?почему такое может быть?
пожайлуста, часть кода(причем в FastReport 2.3 работает, а FastReport 2.4 - нет)...
b := TfrBandView(frCreateObject(gtBand, '')); // create band
b.SetBounds(0, CurY, 0, 22);
b.BandType := btGroupHeader;
b.GroupCondition := 'Query."IDCod"';
b.Script.Add('begin IC:=0; PC:=0 end;');
b.Name:='GroupHeader1';
Page.Objects.Add(b);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(180,CurY, 240, 20);
v.Memo.Add('[Query."Cod"].');
(v as TfrMemoView).font.Name:='Arial';
(v as TfrMemoView).font.Size:=14;
Page.Objects.Add(v);
CurY:=CurY+32+2;
b := TfrBandView(frCreateObject(gtBand, '')); // create MasterData band
b.SetBounds(0, CurY, 0, 20);
b.BandType := btMasterData;
b.Dataset := 'frDBDataSet1';
b.Script:=(begin IC:=IC+[Query."C"]; PC:=PC+[Query."P"]; end;);
Page.Objects.Add(b);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(24,CurY, 104,18);
v.Memo.Add('[Query."L"]');
(v as TfrMemoView).Font.Size:=8;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(131,CurY,85,18);
v.Memo.Add('[Query."S"]');
(v as TfrMemoView).Font.Size:=8;
Page.Objects.Add(v);
CurY:= CurY+20+2;
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(10,CurY, 116,24);
v.Memo.Add('Итого');
(v as TfrMemoView).Font.Style:=[fsBold];
(v as TfrMemoView).Font.Size:=11;
v.Flags:=flWordWrap;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(304,CurY,114,18);
v.Memo.Add('[IC]');
(v as TfrMemoView).Font.Size:=8;
v.Format:=16843308;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(424,CurY, 74,18);
v.Memo.Add('[PC]');
(v as TfrMemoView).Font.Size:=8;
v.Format:=16843308;
Page.Objects.Add(v);
Комментарии
А то это примерно как: строю дом из кирпичей... А чертежи где?
Причём тут кирпичи - человек при помощи кода всё строит )
2 marka:
Ты бы действительно код бы чтоли показал, а то обычно на такие вопросы (без исходников) отвечают "Ищи ошибку в 17-ой строке" )
b := TfrBandView(frCreateObject(gtBand, '')); // create band
b.SetBounds(0, CurY, 0, 22);
b.BandType := btGroupHeader;
b.GroupCondition := 'Query."IDCod"';
b.Script.Add('begin IC:=0; PC:=0 end;');
b.Name:='GroupHeader1';
Page.Objects.Add(b);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(180,CurY, 240, 20);
v.Memo.Add('[Query."Cod"].');
(v as TfrMemoView).font.Name:='Arial';
(v as TfrMemoView).font.Size:=14;
Page.Objects.Add(v);
CurY:=CurY+32+2;
b := TfrBandView(frCreateObject(gtBand, '')); // create MasterData band
b.SetBounds(0, CurY, 0, 20);
b.BandType := btMasterData;
b.Dataset := 'frDBDataSet1';
b.Script:=(begin IC:=IC+[Query."C"]; PC:=PC+[Query."P"]; end;);
Page.Objects.Add(b);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(24,CurY, 104,18);
v.Memo.Add('[Query."L"]');
(v as TfrMemoView).Font.Size:=8;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(131,CurY,85,18);
v.Memo.Add('[Query."S"]');
(v as TfrMemoView).Font.Size:=8;
Page.Objects.Add(v);
CurY:= CurY+20+2;
CurY:=CurY+10;
b := TfrBandView(frCreateObject(gtBand, ''));
b.SetBounds(0, CurY, 0, 24);
b.BandType := btGroupFooter;
b.Flags:=flStretched;
Page.Objects.Add(b);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(10,CurY, 116,24);
v.Memo.Add('Итого');
(v as TfrMemoView).Font.Style:=[fsBold];
(v as TfrMemoView).Font.Size:=11;
v.Flags:=flWordWrap;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(304,CurY,114,18);
v.Memo.Add('[IC]');
(v as TfrMemoView).Font.Size:=8;
v.Format:=16843308;
Page.Objects.Add(v);
v := frCreateObject(gtMemo, ''); // create data field
v.SetBounds(424,CurY, 74,18);
v.Memo.Add('[PC]');
(v as TfrMemoView).Font.Size:=8;
v.Format:=16843308;
Page.Objects.Add(v);
это бэнд по которому идет группировка
ты его не задаешь
попробуй