AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid im Quickrep darstellen

Ein Thema von capo · begonnen am 27. Nov 2006 · letzter Beitrag vom 28. Nov 2006
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 06:56
Also ich habe lange nicht mit QReport gearbeitet, aber ein DBGrid kann das auch nicht so ohne Weiteres anzeigen, oder?
Soweit ich weiss, muss man doch ein Master-Band erstellen und für jedes Feld ein TQRDBText in das Band reinbepseln.

Meine Idee (mit Funktionsgarantie ): Dazu benötigst Du die Explode-Funktion (hier aus dem Forum), das eine CSV-Zeile in ein Array Of String überführt.
1. Verwende ein TStringsBand: In die Items-Eigenschaft kommt einfach die CSV-Datei.
1.a Im OnBeforePrint-Ereignis des TStringsBands rufst Du Explode auf und erzeugst so ein Array Of String mit den einzelnen Zellenwerten.
Delphi-Quellcode:
Procedure TForm1.QRStringsBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);
Begin
// In QRStringsBand1 steht der aktuelle Datensatz im CSV-Format.
  Explode (QRStringsBand1.Item, MyFieldArray);
// Jetzt stehen im MyFieldArray die Zellenwerte der aktuellen Zeile.
End;
2. Für jede Spalte erzeugst Du zur Laufzeit eine TQRLabel-Komponente, die Position kannst Du anhand der String-Grid-Spaltenbreiten ausrechnen. In die Tag-Eigenschaft kommt die Spaltennummer.
2.a Im OnBeforePrint-Ereignis der TQRLabel-Komponenten schreibst Du:
Delphi-Quellcode:
 procedure TForm1.QRLabel2Print(sender: TObject; var Value: String);
Begin
 Value := MyExplodedFields[ TQRLabel(Sender).Tag] // .Tag ist ja die Spaltennummer
End;
Et voilá. Fertig ist der dynamische Stringgrid-Ausdruck-O-Mat.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz