AGB  ·  Datenschutz  ·  Impressum  







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

Memo in DBGrid Komponente anzeigen

Ein Thema von delphicoder123 · begonnen am 14. Feb 2019 · letzter Beitrag vom 18. Feb 2019
Antwort Antwort
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#1

Memo in DBGrid Komponente anzeigen

  Alt 14. Feb 2019, 22:24
Hallo,
ich habe ein DBGrid auf meinem Formular. Eine Spalte vom DBGrid ist ein Memofeld. Allerdings bekomme ich für diese Spalte, nur die Ausgabe "(Memo)". Wie schaffe ich es, dass der richtige Inhalt des Memos im DBGrid angezeigt wird?

Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet, da ich noch ein Anfänger bin.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#2

AW: Memo in DBGrid Komponente anzeigen

  Alt 14. Feb 2019, 23:28
Bei der mir bekannten DBGrid-Version ist das von Dir beschriebene Verhalten der Normalfall.
Bei dem DBGrid aus aus der JVCL kann man auswählen, ob der Text Memo oder der Memoinhalt angezeigt werden soll, auch gibt es die Möglichkeit, die Inhalt des Memo als Hint anzuzeigen, wenn man mit der Maus über die entsprechende Zelle im DBGrid fährt.

Ob andere, aktuelle Delphikomponenten das können, weiß ich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#3

AW: Memo in DBGrid Komponente anzeigen

  Alt 15. Feb 2019, 07:45
Du kannst das Feld statisch anlegen und einen Eventhandler für OnGetText einhängen.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
704 Beiträge
 
Delphi 12 Athens
 
#4

AW: Memo in DBGrid Komponente anzeigen

  Alt 15. Feb 2019, 14:14
Zitat:
Hallo,
ich habe ein DBGrid auf meinem Formular. Eine Spalte vom DBGrid ist ein Memofeld. Allerdings bekomme ich für diese Spalte, nur die Ausgabe "(Memo)". Wie schaffe ich es, dass der richtige Inhalt des Memos im DBGrid angezeigt wird?
Generell ist es keine gute Idee, Memo-Felder in einem Grid anzuzeigen. Schließlich benutzt man solche Felder gemeinhin, um mehrzeiligen Text, durchaus auch recht langen, abzuspeichern. Die gängige Lösung ist es, auf dem Formular außer dem grid auch noch ein TDBMemo pro Memofeld zu haben, das dann den zu der aktiven Zeile im Grid gehörenden Inhalt anzeigt. Falls Du in Grid unbedingt eine Spalte für ein Memofeld haben willst nimm anstelle dessen ein berechnetes Feld, dass dann z. B. die ersten Zeichen der ersten Zeile des Textes anzeigt, mit einem ... am Ende.
Peter Below
  Mit Zitat antworten Zitat
delphicoder123

Registriert seit: 14. Feb 2019
102 Beiträge
 
#5

AW: Memo in DBGrid Komponente anzeigen

  Alt 15. Feb 2019, 14:47
Du kannst das Feld statisch anlegen und einen Eventhandler für OnGetText einhängen.
Kannst du das bitte genauer beschreiben?
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#6

AW: Memo in DBGrid Komponente anzeigen

  Alt 18. Feb 2019, 09:55
Doppelklick auf die Table-(Query-) Komponente zum Öffnen des Feldeditors. Dann darin rechte Maustaste | Alle Felder hinzufügen. Wähle in der Liste das Memo-Feld aus, gehe im Objektinspektor auf Ereignisse und Doppelklicke auf OnGetText. Dort schreibst Du dann, was angezeigt werden soll.
Beispiel für statischen Text:
Delphi-Quellcode:
procedure TForm1.AdsTable1mGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  Text := 'hallo welt';
end;
oder für dynamischen Text, 10 Zeichen des Memo anzeigen:
Delphi-Quellcode:
procedure TForm1.AdsTable1mGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  Text := Copy(Sender.AsString, 1, 10)+'...';
end;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  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 22:57 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