![]() |
werte im dbgrid anders darstellen ?
moin leute...mal ne frage ..und zwar bekomme ich aus meiner db zum beispiel werte wie 'portal_id' 1,2,3
wie kann ich jetzt sagen: bei wert 1 zeige an test1 zum beispiel ? danke euch |
Re: werte im dbgrid anders darstellen ?
Hallo Peter,
Übersetzungen von Feldwerten kannst du beim Ereignis OnGetText() der Feldkomponente vornehmen. Freundliche Grüße |
Re: werte im dbgrid anders darstellen ?
dazu müsste ich felder vordefinieren oder ? weil ich das grid für mehrere dbs verwende, habe ich keine felder definiert. geht das trotzdem ?
|
Re: werte im dbgrid anders darstellen ?
*push*
|
Re: werte im dbgrid anders darstellen ?
Hallo Peter,
der einzige Unterschied ist, dass du ohne vordefinierte Felder den Object Inspector nicht nutzen kannst:
Delphi-Quellcode:
Freundliche Grüße
type
TDemoForm = class(TForm) // ... private procedure GetPortalId(Sender: TField; var Text: string; DisplayText: Boolean); end; implementation procedure TDemoForm.GetPortalId(Sender: TField; var Text: string; DisplayText: Boolean); begin Text := Format('test%d', [Sender.AsInteger]); end; procedure TDemoForm.FormCreate(Sender: TObject); begin Query.FieldByName('Portal_ID').OnGetText := GetPortalId; end; |
Re: werte im dbgrid anders darstellen ?
teste ich direkt am montag gehe jetzt heim ...aber vielen vielen dank !
|
Re: werte im dbgrid anders darstellen ?
hey danke, das läuft ! nur wie kann ich da jetzt meinen "if" unterbringen ..das wenn der text zB 2 ist, ich dann dafür einen anderen wert reinschreibe als bei zB 1 ? ..danke
|
Re: werte im dbgrid anders darstellen ?
danke dir
|
Re: werte im dbgrid anders darstellen ?
nochmal kurz hierzu ..wie kann ich denn sagen if fieldvalue = 1 then text := eins else if text := 2 usw ?
|
Re: werte im dbgrid anders darstellen ?
Hallo Peter,
die Übersetzung der Feldwerte kannst du in der Methode GetPortalID() machen:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.GetPortalId(Sender: TField; var Text: string; DisplayText: Boolean);
var id: Integer; begin id := Sender.AsInteger; case id of 1: Text := 'eins'; 2: Text := 'zwei'; else Text := Sender.AsString; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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