Delphi FastReport交叉报表

本文介绍了一个Delphi应用程序中frxReport1报表组件的BeforePrint事件处理过程。该事件主要用于从Table1数据集填充交叉报表,涉及不同字段类型的处理方式,包括整数型、浮点型、日期时间型及字符串型数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

procedure TForm1.frxReport1BeforePrint(Sender: TfrxReportComponent);
var
Cross : TfrxCrossView;
i,j : integer;
begin
if Sender is TfrxCrossView then
begin
    Cross := TfrxCrossView(Sender);

    Table1.First;
    i := 0;
    while not Table1.Eof do
    begin
      for j := 0 to Table1.Fields.Count - 1 do
      if not table1.Fields[j].IsNull then
      begin
        if table1.Fields[j].DataType in [ftSmallint, ftInteger, ftWord,ftFloat,ftAutoInc] then
        begin
          Cross.AddValue([i], [Table1.Fields[j].DisplayLabel], [Table1.Fields[j].AsFloat ]);
        end
        else if table1.Fields[j].DataType in [ftDate, ftTime, ftDateTime] then
        begin
           Cross.AddValue([i], [Table1.Fields[j].DisplayLabel], [Table1.Fields[j].AsDateTime]);
        end
        else if   table1.Fields[j].DataType in [ftstring] then
        begin
           Cross.AddValue([i], [Table1.Fields[j].DisplayLabel], [Table1.Fields[j].AsString]);
        end;
      end;

      Table1.Next;
      Inc(i);
    end;
end;

转载于:https://www.cnblogs.com/lzj1981/archive/2013/05/01/3053224.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值