Delphi FastReport交叉报表

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;

posted @ 2013-05-01 15:21  小天1981  阅读(573)  评论(0)    收藏  举报