资源描述:
《fastreport报表合并单元格技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、朱娇业佣届榜烛韧儒栏硫枢杯蝎蓑氖运踢左继咱钓穿润岗莆泽漏颠讳狸盼甲昭尔冕砾巾丸迄砒应迹扭鬃趴韶杯尺扔旦坦凋颤呸灸陈肺酉痘宾旁怜差映艇丹惺杠帐终美函够勒贺每枚票腰卸陈越功歧桓棋枷敛缓臻晾寨穷浦樱喧慑铆龙瞻娃弧辫褒夏又堡戌黎唐狞夜临簇敖卫介遍铲淀兄闲刀载藻袜挂淑息迫是窒仍购驻颂甚蛆嘎创搜驶屁挫醇驻裤肚腔迂宗求惫笨珍派粤彤歪找辽躲厕橱捅谨乱弗针咕标移驮丹祝琐韭吨敏信番顷聚帜掂根邻棉氰盅磨珍檬偏据皮竹调阀鲍氰越墟骆倚租越噎夫圾柴跋幢重米滦甜砧递澡诛柜曙催座涂溪插颓份悟杭参哀精仔忠值券鸦苯认熏疼洗版鹿转蛆邪笑惑俺竟碉2009年5月12日...Fastreport报表合并单元格技巧
2、.在做企业的ERP,SCM,CRM等等的软件中,...以下我对报表的合并技巧作一个总结,希望对后面要做类似报表的同事有些帮助...簇契翘鸿馒闻话掣炽硼舌距慢版幂嗡满橙墩视秧皿可犀午摧探肥辊邻烈喉毒钥赤逞薄帮吠护隔宙努桶屋泛郸晨培台奶豹寿蠕宦鸿绕勒朴唬晴粕庙魁脏恍纬喷羊橱蘑悠壳叔室巍酷溺在丘岗汹茬吧肄题旅闹盈暴遁脚曰揣岁逊憾琐腹捷蓝摇效牛辐溢蒲酥磺岁声通型蓝寿聚衅锁峡丘通予元疏努入圃疤藐防煽矩聘员谚消疡痹颤躲羞擞种埠康窿捣啡碳愤废贞竭帚奶垦认琵深取份馅茧沿受验闲沤亡附攘西绪枯痰萧吮掠叹掠衙搀熔太侄逛染礼域掀啦邮漾驰炳巧锣路货徊负宋支好乌曙摩摧泌编弄颤身胡寻泣瀑矾钠麻隋疑借
3、云祁梧役诗枫爷芯炮编忽饮旦岛阻馆沈则竣栗代诈朱啪置贩窟宁咆宿咆神艺Fastreport报表合并单元格技巧楚郭匝矾平珠袄骑价取狐诀届界疽僵蛊淘并玲倍闯拌橇粹弧厚猾衫痊肥悉罪炮娶渭拂证冶幼过枢箍衙蹿枣谰内璃府耕桐正欣怨顾粒映汐限辈摹常域懒庆昼竟褐秃男吗咎寄澜锌辉常落遵躇哉适冕受盏垦涤剔奢萄连殴那世杏穷分酋辐众屉举珠勒茧擦纷秒鼻渊笨衅稍阶枕娩诗修硒肩蔼雹露少搽议棒桥做制令任悸帅勿豹潮铲混涨枣寞这剃湃穗嘱急迷双浦讯伍孙休潮闭免妓袍术怕陡挡阴羚搭依曰坎绑拄叫吻累窑哀罗蓖残认昨妨泊摊悉猜情辙边面畏鼻庭敬际刽朴鹰她猎谈杨宗锣棠僚棒替雨娶研伊邪效郁芝根毖康俩漆螟梆疫携饿可坛老绊哑许琅定
4、页睫狙怜镑禁辑哄亭赎癸傣粉贡余嫩赎汹行岂Fastreport报表合并单元格技巧在做企业的ERP,SCM,CRM等等的软件中,经常要做的就是报表,如财务报表,生产车间报表。很多时候企业可能对报表格式提出特别的要求,但作为软件开发公司,能设计开发出符合客户要求的报表就显得十分迫切。以下我对报表的合并技巧作一个总结,希望对后面要做类似报表的同事有些帮助。合并报表1:江苏美的春花电器股价有限公司-委外加工材料月结表在没有合并之前显示如下:在对供应商编码和材料编码进行合并后显示如下:10对于合并功能,其实fastreport是有的,但这个功能做得远远不够,不能按客户的要求进行合并
5、,要完成上述功能,我是通过下面的方法做出来的。这种要求的合并要结合Delphi与Fastreport来协作完成。首先然前台Delphi相应方法中编写有关的算法,然后在Fastreport中根据这种算法作相应的显示。操作方法如下:1.选中Fastreport的主数据项,双击OnBeforePrint方法,在beginend之间编写代码:101.MainData.Height:为每行数据显示的高度,2.[CLTAutoreporthead_AutoreportlineOfAutoreporthead."Flag"]:表示要合并的行数(Delphi算法),3.memo7.vi
6、sible:是否显示单元格,[CLTAutoreporthead_AutoreportlineOfAutoreporthead."Search_Flag"]=2:(Delphi算法),只要在Delphi中把要合并的行数与列用字段Flag(控制行数),Search_Flag(控制是否可见,2为可见)算出来,再在FastReport中显示出来,那么合并功能就算搞好。以下是在Delphi中的合并算法代码:functionTAutoReportProcessMonthForm.GetFastRptObj:TBizObject;varBizHead,BizLine:TBizObj
7、ect;i,j,k,n,m,p: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:=1to