Autor Beitrag
saxe66
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Mi 15.09.10 07:27 
Hallo ....,

ich habe folgendes Problem. Ich greife per Ado auf eine Tabelle zu, das mich interessierende Feld ist eine Nummer, die jedoch als String gespeichert wird.
Im DBGrid angezeigt soll dieses Feld jedoch numerisch sortiert werden.
Hole ich die entsprechenden Daten per Query ist das natürlich kein Problem (order by val(nummer)).
Kann ich diese Vorgehensweise aber auch irgendwo direkt in den Table-Eigenschaften hinterlegen ? (Indexname oder Index)
Das DBGrid soll idealerweise direkt auf ein Table-Objekt zugreifen.

Danke
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 15.09.10 07:53 
Ich würde den Query verwenden

_________________
Markus Kinzler.
saxe66 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Mi 15.09.10 08:25 
Dann eine zweite Frage ...

Kann ich in einer Query Fomatangaben hinterlegen ? (Numerische Werte mit 0.00 formatiert ???)

Gruß, saxe66
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Mi 15.09.10 08:58 
Das würde ich bei der Anzeige machen

_________________
Markus Kinzler.
Sybok Factor
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 50
Erhaltene Danke: 5

Win XP, Win Vista
Delphi 2010 Professional
BeitragVerfasst: Mi 15.09.10 11:39 
user profile iconsaxe66 hat folgendes geschrieben Zum zitierten Posting springen:

Im DBGrid angezeigt soll dieses Feld jedoch numerisch sortiert werden.
Hole ich die entsprechenden Daten per Query ist das natürlich kein Problem (order by val(nummer)).
Kann ich diese Vorgehensweise aber auch irgendwo direkt in den Table-Eigenschaften hinterlegen ?


Also ich würde TAdoDataSet verwenden, das Objekt hat die Eigenschaft Sort, die macht genau das gewünschte möglich. Dann hast du auch die Möglichkeit im DBGrid beim Klick auf den Spaltenkopf folgendes zu machen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
With (Column.Grid.DataSource.DataSet as TADODataSet) do
begin
  ...
  Sort := '[' + Column.Fieldname + ']' // + ' DESC' <- sortiert absteigend
  ...
end;


Beim AdoDataSet kannst du über CommandType einstellen, dass es wie eine Tabelle arbeitet.

Bei der Formatierung schließe ich mich mkinzler an, das macht das anzeigende Element

Viele Grüße

Sybok Factor

_________________
Jetzte michse verstehen dein Problem.
saxe66 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 19.10.10 16:19 
Danke erstmal, das Problem ist dadurch jedoch nicht gelöst.
Das zu sortierende Feld ist vom Typ String, soll aber numerisch sortiert werden.