如何设计自定义数据的报表
比如,从几个数据库表中的几个字段取得数据,经过一些计算,显示在报表的相关位置,怎么实现呢?
看了一些资料,都是简单抽取字段,直接显示的,不知要计算的怎么办?
[解决办法]
//下面代码可以用于说明如何在代码中给报表元素付值
frReport1.FindObject( 'YanSe2 ').Memo.Text := ys2;//copy(yanse,3,2);
frReport1.FindObject( 'YanSe3 ').Memo.Text := ys3;//copy(yanse,5,2);
frReport1.FindObject( 'PicOne ').FillColor :=PicColor(ys1{copy(yanse,1,2)}) ;
frReport1.FindObject( 'PicTwo ').FillColor :=PicColor(ys2{copy(yanse,3,2)}) ;
frReport1.FindObject( 'PicThree ').FillColor :=PicColor(ys3{copy(yanse,5,2)}) ;
frReport1.FindObject( 'ZuoMoJu ').Memo.Text :=cbZmh.Text ;
frReport1.FindObject( 'YouMoJu ').Memo.Text :=cbYmh.Text ;
frReport1.FindObject( 'GangYin ').Memo.Text :=Trim(EdtGangyin.Text);
frReport1.FindObject( 'LTiaoMa ').Memo.Text := '00 '+LMaterialCode ;
frReport1.FindObject( 'RTiaoMa ').Memo.Text := '00 '+RMaterialCode ;
frReport1.FindObject( 'LGuiGe ').Memo.Text := cbLSpec.Text+ '( '+cbLLayer.Text+ ') '+cbLTexture.Text+cbLBrand.Text ;
frReport1.FindObject( 'RGuiGe ').Memo.Text := cbRSpec.Text+ '( '+cbRLayer.Text+ ') '+cbRTexture.Text+cbRBrand.Text ;
// frReport1.FindObject( 'HuaWen ').Memo.Text := ComboBox3.Text+ '- '+ComboBox4.Text ;
frReport1.PrepareReport;//由于准备报表
frReport1.ShowReport;//用于显示报表
//你可以在Delphi代码中计算好,然后付值显示
例如:
var
Adays:TDateTime;
ADays := ADOQuery1.FieldByName( 'Birthday ').AsDatetime + 2;
frReport1.FindObject( 'RGuiGe ').Memo.Text := DateTimeToStr(ADays);
//上一行代码中 'RGuiGe '为要付值的Memo的名称
[解决办法]
推荐使用ReportMachine
[解决办法]
建议使用Grid++Report.