怎样根据用户选择的对象给报表中一个文本框赋值并显示(比如用户在编辑框里输入报表名称再在报表中显示出来)?我是这样做的(按照网上提供的资料): “第一步:在窗体上放一 frReport1: TfrReport;设置好相关的属性,在fastreport中声明一变量,如Title;
第二步:放一memo控件(在frReport1)然后指定其值为[title];
第三步:在frReport1的GetValue中
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='Title' then Parvalue:='测试变量';
end;”查了网上好多地方,也都是这么介绍的,有人说用这种方法给变量赋值在设计报表时是反映不出来的,必须是在程序运行阶段反映,可是我经过编译运行后还是不能在memo中显示出来(显示为空)!会不会是我的FastReport控件装的有问题啊?请高手指点!!!
还有就是FastReport 3.x版本在菜单中怎么没有“数据字典”这一项了?
(老板要求在一个星期内搞出报表,请各位大侠多多指点)!!!
第二步:放一memo控件(在frReport1)然后指定其值为[title];
第三步:在frReport1的GetValue中
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='Title' then Parvalue:='测试变量';
end;”查了网上好多地方,也都是这么介绍的,有人说用这种方法给变量赋值在设计报表时是反映不出来的,必须是在程序运行阶段反映,可是我经过编译运行后还是不能在memo中显示出来(显示为空)!会不会是我的FastReport控件装的有问题啊?请高手指点!!!
还有就是FastReport 3.x版本在菜单中怎么没有“数据字典”这一项了?
(老板要求在一个星期内搞出报表,请各位大侠多多指点)!!!
解决方案 »
- 软件运行一天出错:external exception C000001D delphi
- 求救:delphi 调用fortran 编的DLL文件 说无效接口
- 【200分】查了N多资料,问了N多人实在解决不了了!!!
- 用函数改变系统时间怎么老是不对,大家帮我看看吧
- 用delphi编一个网络小游戏,它的通信用的是什么控件?
- DELPHI版主去哪了,一个关系到大家的问题,已经有多人有同样的情况
- fasreport如何将报表保存到数据库中
- 日期型字段问题求教!!
- 我如何更改含有聚合的结果视图中的记录?
- title(桶漆底脱) zhuoyuesky(卓越) kuangning(郎之间)(穷人)(其实什么都不是) gaochunzhen()进来拿分!!
- 如何获得本地连接的名称啊
- 200分再开新贴:嵌套框架的HTML代码获取的问题!顶者有分
你用shoemessage检查看,应该是没给它值
frReport1.findOBject('Memo1').Memo.add('测试变量');
frReport1.findOBject('Memo1').Memo.add('测试变量');
第二步:使用fastReport的OnGetValue事件然后添加下面的代码:
if VarName='var1' then Value:='your string';
这样就行了啊!值得说明的是在添加variables时必须是category,也就是如果加了类别之后,再在该类别中再加Variables就会有错误!所加的variables必须是category的类型(总类别)。
我完全按你的方法试了几遍怎么还是不行!我考虑了一下,是不是我用来显示报表预览的时候有问题,感觉就是变量的值没有传过去。我是这样在一个ButtonClick事件中操作的:
procedure TForm1.Button1Click(Sender: TObject);
begin
frxreport1.LoadFromFile('test2.fr3',false);
frxreport1.PrepareReport();
frxreport1.ShowPreparedReport;end;
你再试试在form中加入Tfreport,然后双击它,打开你的test2.fr3。
test2.fr3中的变量就照上面的设置。然后在frxreport中的事件中找到getValue。写上面说的代码,我估计就是这个问题了。
最后在
procedure TForm1.Button1Click(Sender: TObject);中showreport就行了。
‘人说用这种方法给变量赋值在设计报表时是反映不出来的,必须是在程序运行阶段反映’
这句话是对的。
procedure TForm1.Button1Click(Sender: TObject);
begin
frxreport1.ShowReport;
end;
还是一样,“变量的值总是传不过去”我怀疑是控件本身的问题了。实在没有办法了!
我的e-mail:
[email protected]或
[email protected]