Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Sichtbarkeit von Tabellenfeldern

  Alt 2. Feb 2004, 07:50
Hallo,

Ich habe die Sichtbarkeit aller Felder aller Tabellen in einer weiteren sog. Konfigurationstabelle abgelegt. Soll jetzt der Inhalt einer Tabelle in einem DBGrid angezeigt werden, so lade ich erst alle Daten der betreffenden Tabelle über eine Query in ein Dataset:

Query.sql.add('SELECT * FROM Tabelle'); Anschließend lese ich aus der Konfigurationstabelle das Attribut für die Sichtbarkeit der Felder dieser Tabelle:

Delphi-Quellcode:
...

for i:=0 to Datasource.DataSet.FieldCount-1 do
  begin
    Datasource.DataSet.Fields[i].Visible:= visability[i+1]='1';
    Datasource.DataSet.Next;
  end;
Das Attribut "visability" ist ein String der Form: '001010011011'. Die Sichtbarkeit wird jedem Feld im Dataset über die Schleife zugeordnet. So weit klappt das auch.

Will ich jetzt ebenfalls zur Laufzeit das Grid mit der Datasource verbinden, mache ich das folgende:

Delphi-Quellcode:
...

 with Grid do
  begin
    for ColCount:=0 to DataSource.DataSet.FieldCount-1 do
      Fields[ColCount].Visible:= DataSource.DataSet.Fields[ColCount].Visible;
        end;
Leider sind immer alle Felder sichtbar!? Wo ist mein Fehler?

Danke und Gruß,

Barnti
  Mit Zitat antworten Zitat