FASTREPORT中如何传递参数你要如何传递??? (0分)

  • 主题发起人 主题发起人 aaere
  • 开始时间 开始时间
A

aaere

Unregistered / Unconfirmed
GUEST, unregistred user!
FASTREPORT中如何传递参数你要如何传递??
在form中有一DATETIMEpicker,把这一日期,传递到报表中
 
下面是FastReport FAQ中的说明(我翻译了):
2.25. 如何将值传递给报表?
有几种方法实现这一点。第一种是使用全局对象frVariables(在FR_Class单元定义):
frVariables['My variable'] := 10;
上面的代码创建一个名为My variable值为10的新变量.这种方法是传递静态数据到
报表的最好方法。
第二种方法是通过TfrReport.OnGetValue事件。你可以使用这种方法传递动态数据,例如:
当记录移动时发生改变的数据。
procedure TForm1.frReport1GetValue(ParName: String;
var ParValue: Variant);
begin
if ParName = 'MyField' then
ParValue := Table1MyField.Value;
end;

最后,第三种方法是通过编程在字典中定义变量:
with frReport1.Dictionarydo
begin
Variables['MyVariable'] := 'CustomerData.Customers."CustNo"';
Variables['Another Variable'] := '10';
end;

(我可以从报表中传递数据给程序吗?)
使用frVariables对象。如果你在任何脚本中编写以下的代码:
MyVariable := 10
那么在你的程序中你可以使用下面的代码得到MyVariable的值:
v := frVariables['MyVariable'];

===============================================================================
2.26. 如何使图表(TChart)连续How to make the TChart with several series?
你不能在设计器中这样做。你需要在Delphi中编写一些代码。创建TChart 或 TDBChart,填充
它;放置空的TfrChartView到报表中;在TfrReport.OnBeforePrint事件处理程序中编写以下的
代码:
if View.Name = 'Chart1' then
TfrChartView(View).AssignChart(your_Delphi_chart)
 
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;
我刚写的,希望对你有帮助。
下面的两种方法又没有具体的例子,贴出来瞧瞧,或具体 解释一下。
procedure TForm1.frReport1GetValue(ParName: String;
var ParValue: Variant);
begin
if ParName = 'MyField' then
ParValue := Table1MyField.Value;
end;
with frReport1.Dictionarydo
begin
Variables['MyVariable'] := 'CustomerData.Customers."CustNo"';
Variables['Another Variable'] := '10';
end;

 
接受答案了.
 
后退
顶部