![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
DBGrid Spaltenüberschrift <> Feldname
Hallo Leute,
wie kann ich die Spaltenüberschrift ändern, so dass nicht der Feldname als Überschrift genommen wird? Ich gebe z.B. im Spalteneditor als Fieldname "Telefon1" an, damit der Inhalt des Feldes "Telefon1" angezeigt wird. Im DBGrid selbst soll aber als Überschrift "Telefon" stehen und nicht "Telefon1". Wo kann ich das machen? MfG davar |
Re: DBGrid Spaltenüberschrift <> Feldname
über title.caption
Gruß Malte |
Re: DBGrid Spaltenüberschrift <> Feldname
Im Spalteneditor gibt es auch ein Property "DisplayLabel" das was da drin steht nimmt das Grid als Caption.
|
Re: DBGrid Spaltenüberschrift <> Feldname
Du kannst probieren, ob meine Feld-Editor-Komponente (siehe Homepage) unter Delphi3 funktioniert. Da kann das zur Laufzeit eingestellt werden. Wenn man es vom Programm zulässt, kann das sogar der Anwender. Die entsprechenden Eintsllungsdateien (INI oder Registry) kannst du aber auch einfach mitliefern.
|
Re: DBGrid Spaltenüberschrift <> Feldname
Man kann die sichtbaren Feldnamen (DisplayLabel) auch zur Laufzeit einstellen.
grosser Vorteil: man braucht keine persistenten Felder anlegen Hier ein Unit, die zeigt, wie man alle Zuordnungen Feldname->DisplayLabel zentral für die gesamte Anwendung abhandeln kann:
Delphi-Quellcode:
Anwendung:
unit UDisplayLabels;
interface uses DB; procedure SetDisplayLabels(ds:TDataset); implementation type T2strings = array[1..2] of string; // Zuordnungstabelle // FieldName -> DisplayName const convliste: array[0..6] of T2strings = ( ('IdWBruecke', 'Wechselbrücke'), ('IdTor', 'Tor-Nr'), ('EDatum', 'Einlieferdatum'), ('MaxHeight', 'max. Höhe'), ('IdLocation', 'Standort'), ('LastChange', 'letzte Änderung'), ('Disabled', 'Gesperrt') ); // suche DisplayLabel, das zu "fieldname" passt function ConvertString(const fieldname:string):string; var i : Integer; begin for i := Low(convliste) to High(convliste) do begin if convliste[i][1] = fieldname then begin Result := convliste[i][2]; Exit; end; end; Result := ''; // nix gefunden end; procedure SetDisplayLabels(ds:TDataset); var i : Integer; dl : string; begin for i := ds.Fields.Count-1 downto 0 do // herunterzählen auf 0 ist etwas schneller begin dl := ConvertString(ds.Fields[i].FieldName); if dl <> '' then ds.Fields[i].DisplayLabel := dl; end; end; end. Einfach die Procedure SetDisplayLabels im Event AfterOpen aufrufen:
Delphi-Quellcode:
procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
begin SetDisplayLabels(DataSet); end; |
Re: DBGrid Spaltenüberschrift <> Feldname
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz