Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#22

AW: Fast Report - Leerzeile einfügen bei fehlendem Datensatz

  Alt 4. Dez 2014, 09:03
Die Routine sollte doppelte Nullspalten entfernen (getippt und nicht getestet). D.h. Du liest die Query ein, jagst das DS durch die Methode und druckst anschließend aus.

Delphi-Quellcode:
Procedure RemoveDuplicateNUllRows (aDataSet : TDataSet; aFieldNameToCheckForNull : String);
var
  prevLineWasNull : Boolean;

Begin
  aDataSet.Last;
  While not aDataSet.Bof do begin
    if VarIsNull(aDataSet[aFieldNameToCheckForNull]) then begin
      if prevLineWasNull then
        aDataSet.Delete;

      prevLineWasNull := Not prevLineWasNul;
    end
    else prevLineWasNull := false;
    aDataSet.Prior
  end
end;
Du gehst von hinten nach vorne durch und löschst eine leere Zeile, wenn die zuvor besuchte (also, die darunter) auch schon leer war.
  Mit Zitat antworten Zitat