AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Spaltenreihenfolge im DBGrid festlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Spaltenreihenfolge im DBGrid festlegen

Ein Thema von Moony · begonnen am 18. Dez 2008 · letzter Beitrag vom 18. Dez 2008
Antwort Antwort
Moony

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

Spaltenreihenfolge im DBGrid festlegen

  Alt 18. Dez 2008, 06: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
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
672 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Spaltenreihenfolge im DBGrid festlegen

  Alt 18. Dez 2008, 08:51
Ich streame so etwas in ein Binärfeld in der Datenbank.
Speichern:
Delphi-Quellcode:
...
ms:TMemoryStream;
...
ms:=TMemoryStream.Create;
DBGrid1.Columns.SaveToStream(ms);
ms.Position:=0;
TBlobField(tbSettings.FieldByName('Data')).LoadFromStream(ms);
tbSettings.Post;
Laden:
Delphi-Quellcode:
...
ms:TMemoryStream;
...
ms:=TMemoryStream.Create;
TBlobField(tbSettings.FieldByName('Data')).SaveToStream(ms);
ms.Position:=0;
DBGrid1.Columns.LoadFromStream(ms);
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Spaltenreihenfolge im DBGrid festlegen

  Alt 18. Dez 2008, 08:52
Hier im Forum suchenSpaltenreihenfolge AND DBGrid
  Mit Zitat antworten Zitat
Moony

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

Re: Spaltenreihenfolge im DBGrid festlegen

  Alt 18. Dez 2008, 10:18
@ joachim: Danke, aber ich kann die Software jetzt nicht ohne weiteres auf das Streamen umbauen.

Ich hatte das auch schon mit dem Index probiert, aber dieser funktioniert innerhalb eine for-Schleife sehr schlecht. Aber ich muß die einzelnen DB Felder durchgehen. Da muß ich wohl schauen, ob es nicht irgendeine Möglichkeit gibt das dennoch so durchzuführen.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz