两个参数,ParName和ParValue,可以根据ParName判断是哪个对象,再对ParValue赋值 例如,如果FastReport上的对象是个Memo,双击它把它的值设为“[MyMemo]”,那么在 OnGetValue里面可以这样写: if ParName = 'MyMemo' then ParValue := '要显示的值'; 注意那个中括号是必须要加的
第一步:在报表设计器中为报表增加变量,report菜单--variables,点category,为新变量命名为var1,然后在报表中加入text object,点插入表达式(insert expression),点variables页面,双击刚才新建的变量var1,然后退出就行了(也可在文本框的内容中直接输入[var1])。 第二步:使用fastReport的OnGetValue事件然后添加下面的代码: if VarName='var1' then Value='your string'; 这样就行了啊!值得说明的是在添加variables时必须是category,也就是如果加了类别之后,再在该类别中再加Variables就会有错误!所加的variables必须是category的类型(总类别)。
var Memo1: TfrxMemoView;
Memo1 := frxReport1.FindObject('Memo1') as TfrxMemoView;Memo1就是在frxReport1中使用的控件。 然后你就可以设置Memo1的属性了。
procedure TForm1.Button1Click(Sender: TObject);var v: TfrView; b: TfrBandView; Page: TfrPage;begin frReport1.Pages.Clear; frReport1.Pages.Add; // create page Page := frReport1.Pages[0]; b := TfrBandView(frCreateObject(gtBand, '')); // create MasterData band b.SetBounds(0, 20, 0, 20); b.BandType := btMasterData; b.Dataset := 'frDBDataSet1'; Page.Objects.Add(b); v := frCreateObject(gtMemo, ''); // create data field v.SetBounds(20, 20, 200, 16); v.Memo.Add('[Table1."Company"]'); Page.Objects.Add(v); frReport1.ShowReport;end;
ongetvalue中
怎么写代码?它只有两个参数,这两个参数怎么用?
在FASTREPORT调用不了这两个参数啊!
例如,如果FastReport上的对象是个Memo,双击它把它的值设为“[MyMemo]”,那么在
OnGetValue里面可以这样写:
if ParName = 'MyMemo' then
ParValue := '要显示的值';
注意那个中括号是必须要加的
第二步:使用fastReport的OnGetValue事件然后添加下面的代码:
if VarName='var1' then Value='your string';
这样就行了啊!值得说明的是在添加variables时必须是category,也就是如果加了类别之后,再在该类别中再加Variables就会有错误!所加的variables必须是category的类型(总类别)。
Memo1: TfrxMemoView;
Memo1 := frxReport1.FindObject('Memo1') as TfrxMemoView;Memo1就是在frxReport1中使用的控件。
然后你就可以设置Memo1的属性了。