Fastreport3 怎样传递参数 ( 积分: 50 )

  • 主题发起人 主题发起人 zhixding
  • 开始时间 开始时间
Z

zhixding

Unregistered / Unconfirmed
GUEST, unregistred user!
Fastreport3 有谁知道怎样传递参数值?
象:
Qickreport1:=TQickreport.create(self);
Qickreport1.lb_date.caption:='从2007-11-1 至2007-11-15';

try
Qickreport1.repoert1.preview;
finally
Qickreport1.free;
 
我做的报表代码如下
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from tPCStyle where PO=:PO');
ADOQuery1.Parameters.ParamByName('PO').Value :='003';
ADOQuery1.Prepared ;
ADOQuery1.Open ;
frxDBDataset1.DataSet :=ADOQuery1;
frxReport1.DataSet := frxDBDataset1;
frxReport1.ShowReport;
 
这是数据联接与提供,不成问题.
我遇到的是在报表上标明诸如印上制表单位/制表人员/印表时间等信息,
希望通过一定方式传递这些信息给表头/表尾.
还请高手指教?
 
procedure TForm1.frReport1GetValue(ParName: String;
var ParValue: Variant);
begin
if ParName = 'MyField' then
ParValue := Table1MyField.Value;
end;
 
使用全局对象frVariables(在FR_Class单元定义):
frVariables['My variable'] := 10;
 
通过编程在字典中定义变量:
with frReport1.Dictionarydo
begin
Variables['MyVariable'] := 'CustomerData.Customers."CustNo"';
Variables['Another Variable'] := '10';
end;
 
procedure Tfmfee1.frReport1BeforePrint(Memo: TStringList;
View: TfrView);
begin
frVariables['begin
date1']:=FormatDateTime('yyyy-mm-dd',DateTimePicker1.Date);
frVariables['enddate1']:=FormatDateTime('yyyy-mm-dd',DateTimePicker2.Date);
frVariables['customer']:=cmbcust.Text;
end;
 
你自己看看适合哪种了。
 
//传递两个变量S Y到报表,在报表中这样 [Y] 呵呵~
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if VarName='s' then
Value:='在报表中S随便用';//给S赋值
if VarName='Y' then
Value:='在报表中Y随便用';//给Y赋值
end;
 
接受答案了.
 
后退
顶部