![]() |
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; |
Re: werte im dbgrid anders darstellen ?
danke, es geht ..genau das habe ich gesucht
|
Re: werte im dbgrid anders darstellen ?
hey ich hab das jetzt umgebaut auf ein dbctrl grid, geht auch aber der von mir geänderte text wird erst angezeigt, sobald ich auf das grid clicke und 1 X nach unten scrolle ?
Delphi-Quellcode:
Query.Close;
Query.SQL.Clear; Query.SQL.Text := 'SELECT id,user_group,surname,prename,email,firma_id FROM webmaster_user'; Query.Open; Query.FieldByName('firma_id').OnGetText := GetFirmName; was läuft das falsch |
Re: werte im dbgrid anders darstellen ?
Hallo Peter,
versuche es so:
Delphi-Quellcode:
Freundliche Grüße
with Query do
begin DisableControls; FieldByName('firma_id').OnGetText := GetFirmName; EnableControls; end; |
Re: werte im dbgrid anders darstellen ?
danke, das wars !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 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