fastreport报表合并单元格技巧

fastreport报表合并单元格技巧

ID:13780475

大小:217.50 KB

页数:8页

时间:2018-07-24

fastreport报表合并单元格技巧_第1页
fastreport报表合并单元格技巧_第2页
fastreport报表合并单元格技巧_第3页
fastreport报表合并单元格技巧_第4页
fastreport报表合并单元格技巧_第5页
资源描述:

《fastreport报表合并单元格技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Fastreport报表合并单元格技巧在做企业的ERP,SCM,CRM等等的软件中,经常要做的就是报表,如财务报表,生产车间报表。很多时候企业可能对报表格式提出特别的要求,但作为软件开发公司,能设计开发出符合客户要求的报表就显得十分迫切。以下我对报表的合并技巧作一个总结,希望对后面要做类似报表的同事有些帮助。合并报表1:江苏美的春花电器股价有限公司-委外加工材料月结表在没有合并之前显示如下:在对供应商编码和材料编码进行合并后显示如下:8对于合并功能,其实fastreport是有的,但这个功能做得远远不够,不能按客户的要求进行合并,要完成上述功能,我是通过下面的方法做

2、出来的。这种要求的合并要结合Delphi与Fastreport来协作完成。首先然前台Delphi相应方法中编写有关的算法,然后在Fastreport中根据这种算法作相应的显示。操作方法如下:1.选中Fastreport的主数据项,双击OnBeforePrint方法,在beginend之间编写代码:81.MainData.Height:为每行数据显示的高度,2.[CLTAutoreporthead_AutoreportlineOfAutoreporthead."Flag"]:表示要合并的行数(Delphi算法),3.memo7.visible:是否显示单元格,[CLT

3、Autoreporthead_AutoreportlineOfAutoreporthead."Search_Flag"]=2:(Delphi算法),只要在Delphi中把要合并的行数与列用字段Flag(控制行数),Search_Flag(控制是否可见,2为可见)算出来,再在FastReport中显示出来,那么合并功能就算搞好。以下是在Delphi中的合并算法代码:functionTAutoReportProcessMonthForm.GetFastRptObj:TBizObject;varBizHead,BizLine:TBizObject;i,j,k,n,m,p:

4、Integer;Head:TAutoreporthead;Line:TAutoreportline;slItemVendor,slVendors:TStringList;strItemVendor,strItemVendor2,strVendor:String;VendorsCount:arrayofInteger;beginMyCheck;Head:=TAutoreporthead.Create(false,true);Head.UserName:=LoginUser.UserName;fori:=1todgView.RowCount-1doifdgView.Ro

5、wProps[i].Checkedand(notdgView.IsRowEmpty(i))thenbeginLine:=TAutoreportline.Create;self.SetDgDataToBizObject(i,dgView,TBizObject(line));head.AutoreportlineOfAutoreporthead.Add(line);end;//合并报表算法开始addedbywbc,2009-04-23slItemVendor:=TStringList.Create;slVendors:=TStringList.Create;fori:=

6、0tohead.AutoreportlineOfAutoreporthead.Count-1dobeginstrItemVendor:=TAutoreportline(head.AutoreportlineOfAutoreporthead.Items[i]).Item_Code+TAutoreportline(head.AutoreportlineOfAutoreporthead.Items[i]).Vendor_Code;ifPos(strItemVendor,slItemVendor.Text)=0thenslItemVendor.Add(strItemVend

7、or);8strVendor:=TAutoreportline(head.AutoreportlineOfAutoreporthead.Items[i]).Vendor_Code;ifPos(strVendor,slVendors.Text)=0thenslVendors.Add(strVendor);end;//showMessage(slVendors.Text);setLength(VendorsCount,slVendors.Count);fori:=0toslVendors.Count-1dobeginVendorsCount[i]:=0;forj:=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。