你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!

fastreport.net 上下行单合格相同值怎么合并单元格

已邀请:

zcjle

赞同来自:

需要合并的字段显示抑制重复值属性(SuppressRepeated)为true。

设置Page1的OnBeforePrint事件,MasterData1的OnBeforePrint事件,代码如下:(代码中红色字体部分注意修改为报表实际的内容)

var iRowCount:Integer; AryHeight:Array of Extended;procedure Page1OnBeforePrint(Sender: TfrxComponent);var i,iRepeat: Integer; sLastValue,sCurValue: String; MyDataSet: TfrxDBDataSet; begin MyDataSet := TfrxDBDataSet(Report.GetDataSet('数据集名')); iRowCount := MyDataSet.RecordCount; SetLength(AryHeight,iRowCount); MyDataSet.First; sCurValue := ''; for i := 0 to iRowCount - 1 do begin sLastValue := sCurValue; sCurValue := MyDataSet.DataSet.FieldByName('字段名').AsString; if (sLastValue <> '') and (sLastValue = sCurValue) then begin iRepeat := iRepeat + 1; AryHeight[i] := 0; AryHeight[i - iRepeat] := MasterData1.Height * (iRepeat + 1); end else begin iRepeat := 0; AryHeight[i] := MasterData1.Height; end; MyDataSet.Next; end; end;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);begin if AryHeight[ - 1] = 0 then begin Memo15.Visible := False; end else beginMemo15.Visible := True; Memo15.Height := AryHeight[ - 1]; end; end;

begin

end.
慧都学院3月底推出《基于图的大数据分析》免费公开课,期待您的参与

要回复问题请先登录注册

微信