请问如何用fastreport打印非数据库的数据呢?如我的数据库有一条记录,有两个字段,一个数值为100,一个数值为1000,我如何用fastreport打印出100-1000这些数呢?

解决方案 »

  1.   

    假设该表为A(i1,i2)
    i1 int,
    i2 int,用下面的SQL语句即可
    select i1,i2,i1-i2 as i3 from A这样在FastReport中就可以打印出你需要的数据了
      

  2.   

    在FR的ON GET VALUE事件中赋值
      

  3.   

    是的,先在FastReport Designer中声明变量,然后在OnGetValue中赋值
      

  4.   

    第一个方法是使用全局对象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.Dictionary do 
    begin 
    Variables['MyVariable'] := 'CustomerData.Customers."CustNo"'; 
    Variables['Another Variable'] := '10'; 
    end; 
      

  5.   

    请问tccb() :TfrUserDataset如何使用呢?例如设定字段及其值?