Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Wie kann ich ein TIB_Grid drucken?

  Alt 15. Okt 2007, 10:38
Hallo,

FastReport hat noch einen kleinen Bruder, FreeReport. Free, wie der Name schon sagt.

Das einfachste wäre doch, aus dem TIB_Grid ein StringGrid zu bauen
und dann den Code zum Drucken des StringGrids zu benutzen ?

Delphi-Quellcode:
var
  iCol: Integer;
  iRow: Integer;

StringGrid:= TStringGrid.Create(NIL);
try
  StringGrid.ColCount:= DBGrid.DataSource.DataSet.FieldCount;
  StringGrid.RowCount:= GetRowCount+1; // +1 wegen der Überschrift

  DBGrid.DataSource.DataSet.DisableControls;
  try
    DBGrid.DataSource.DataSet.First;
    iRow:= 0;
    while not DBGrid.DataSource.DataSet.EOF do
    begin
      Inc(iRow);
      for iCol:= 0 to DBGrid.DataSource.DataSet.Fields.Count-1 do
      begin
        StringGrid.Cells[iCol,iRow]:= DBGrid.DataSource.DataSet.Fields[iCol];
      end;

      DBGrid.DataSource.DataSet.Next;
    end;
  finally
    DBGrid.DataSource.DataSet.EnableControls;
  end;

  PrintStringGrid(StringGrid);
finally
  StringGrid.Free;
end;
Das GetRowCount musst du selber schreiben
über eine Extra-Query mit

Select Count(*)

deiner eigentlichen Abfrage.


Heiko
PS: Der Code ist ungetest, den habe ich bloss mal so getippert.
Heiko
  Mit Zitat antworten Zitat