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
Seite 2 von 2     12   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 01:21
Zitat von capo:
...irgendwie hoffe ich das es auch ohne TDataset geht.
Wenn das Dein Ernst ist, dann erübrigen sich alle anderen Aussagen. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Steven2

Registriert seit: 17. Nov 2006
94 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 01:50
Das muss doch auch anders gehen, ich kann dir da aber auch nicht weiter helfen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 07:02
Wen du die Einarbeitung in Datenbanken scheust, mußt du halt den komplizierteren für dich einfacheren Weg gehen und das Grid zur Laufzeit in QR erzeugen.
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

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

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 07: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
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Stringgrid im Quickrep darstellen

  Alt 28. Nov 2006, 17:55
Hallo alzaimar,
vielen Dank, ich guck mir das an und geb dann Rückmeldung

gruss capo
Hotte
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz