Einzelnen Beitrag anzeigen

Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Spaltenreihenfolge im DBGrid festlegen

  Alt 18. Dez 2008, 07:51
Datenbank: MSAccess, MSSQL, MySQL, DB2, Oracle • Zugriff über: ADO
Hallo zusammen,

ich habe folgende Situation:

In meiner Software greife ich über das ADODataset auf eine Datenbank zu. Über einen DataSource ist ein DBGrid mit dem Dataset verbunden. Die Datenmenge wird mit einer SQL Anweisung geöffnet und im Grid angezeigt. Innerhalb des Grids lasse ich eine Umsortierung der Spalten zu. Somit ändert sich ggf der Spaltenindex. Wenn ich die Software beende muß ich dann den Index speichern. Das mache ich so:

Delphi-Quellcode:
for i := 0 to PFORM.MyGrid.Columns.Count - 1 do
begin
  if Form1.MyGrid.Columns.Items[i].FieldName = tdbe.DataField then // tdbe ist ein DBEdit
  begin
    MyInifile.WriteInteger(tempstr, 'ColID', Form1.MyGrid.Columns.Items[i].Index);
    Break;
  end;
end;
Das funktioniert soweit richtig. Jetzt kommt aber der Rest. Wenn ich die Software wieder starte und an meine Datenquelle anknüpfe, will ich anschließend die Spaltenreihenfolge wieder zuweisen. Ich habe es auf dem gleichen Weg wieder versucht, aber da wird dann alles durcheinander gewürfelt.

Ich lade immer alle Felder per SQL in das Dataset, es kann aber auch sein, dass ich im Grid einige nicht anzeigen lasse. Die Spalte wird dann auf invisible gesetzt:

Form1.MyGrid.Columns.Items[i].Visible:= FALSE So, hoffe die Infos sind alle vorhanden, die benötigt werden und mir kann schnell geholfen werden.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat