我的数据报表中有一个字段使用DATAMEMO控件显示,有时数据量多,有时少,为了节约纸张,这个字段想做成根据数据量自动改变高度值。判断的标准是没问题的,可是如何让这个地方自动调整高度值呢?
解决方案 »
- 数据库语句求解
- 各位大虾,前些天找了家公司在深圳,做DELPHI开发,过年后过去,公司要我好好深入一下动态联接库,
- 问一个简单的问题!
- delphi 做的数据库应用程序如何移植??
- 怎样在一过程中使用ADOconnection...
- 【发布软件兼散分,无需注册,欢迎拷贝,欢迎盗版】
- 登陆程序,连接access的登陆后进入主窗体
- 非常简单的问题,怎么可以像编辑Edit一样的编辑TStringGrid中的每一个元素表格?
- delphi初学者,欲做一“个人财务管理系统”,数据库用informix,集思广义,欢迎参与,三天后散分!
- 存储过程中如何执行一个字符串语句
- 问一个模糊查询问题
- 如何知道一个类当前有几个实例呀?
先说思路,就是根据字段内容的多少在显示RAVE报表前进行动态的调整这个字段的占用空间的大小,不过此时同时也要调整DATABAND整个空间的高度。还有这个办法是一但调整就是所有的都调整了,不能做到有的大有的小。幸好我的数据也是一般都是小数,偶尔才出现大的数量。代码如下:
var
Cus:integer;
MyDataBand: TRaveDataBand;
MyPage: TRavePage;
MyDataMemo: TRaveDataMemo;
begin
rvp1.Open;
if cus <=6 then
begin
With RvP1.ProjMan do
begin
MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
MydataBand := FindRaveComponent('dataBand1',Mypage) as TRavedataBand;
MyDatamemo:=TRaveDatamemo.Create(MyDataBand);
MyDatamemo.Parent:=MyDataBand;
MyDatamemo.Name:=GetUniqueName('Datamemo1',MyPage,false);
MyDatamemo.Height:=0.2;
MyDataBand.Height:=1.14;
end;
end;
if (cus >6) and (cus<=12) then
begin
With RvP1.ProjMan do
begin
MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
MydataBand := FindRaveComponent('dataBand1',Mypage) as TRavedataBand;
MyDatamemo:=TRaveDatamemo.Create(MyDataBand);
MyDatamemo.Parent:=MyDataBand;
MyDatamemo.Name:=GetUniqueName('Datamemo1',MyPage,false);
MyDatamemo.Height:=0.4;
MyDataBand.Height:=1.34;
end;
end;
if cus >12 then
begin
With RvP1.ProjMan do
begin
MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
MydataBand := FindRaveComponent('dataBand1',Mypage) as TRavedataBand;
MyDatamemo:=TRaveDatamemo.Create(MyDataBand);
MyDatamemo.Parent:=MyDataBand;
MyDatamemo.Name:=GetUniqueName('Datamemo1',MyPage,false);
MyDatamemo.Height:=0.6;
MyDataBand.Height:=1.54;
end;
end;
RvP1.Execute;
RvP1.Close;end;
哪位要是有更好的办法,欢迎指点。