AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid nach Uhrzeit sortieren

Ein Thema von H.Bothur · begonnen am 23. Jan 2020 · letzter Beitrag vom 24. Jan 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.395 Beiträge
 
Delphi 12 Athens
 
#1

AW: StringGrid nach Uhrzeit sortieren

  Alt 23. Jan 2020, 17:39
Die MemoryDataSets einiger Anbieter bieten auch eine OrderBy-Funktion an (Property mit Spaltennamen).
Und dazu statt dem StringGrid ein DBGrid verwenden. (bin mir grad nicht sicher, ob TClientDataSet sowas auch hat)

Ansonsten:
StringGrid.Rows[i].Text ist die ganze Daten-Zeile (alle Cell auf einmal kopieren, oder eben stattdessen noch eine Schleife über die gewünschten Cells),
dann brauchst nur noch eine Schleife zum Vergliechen (BubbleSort ist leicht zu bauen)
und jeweils entsprechend die Zeilen austauschen, welche nicht die richtige Reihenfolge haben.

Delphi-Quellcode:
for i1 := 0 do StringGrid.RowCount-2 do
  for i2 := i1 + 1 do StringGrid.RowCount-1 do
    if AnsiSameStr(StringGrid.Cell[x, i1], StringGrid.Cell[x, i2]) < 0 then begin // x = DatumsSpalte ... oder >0 wenn andersrum
      Temp := StringGrid.Rows[i1].Text;
      StringGrid.Rows[i1].Text := StringGrid.Rows[i2].Text;
      StringGrid.Rows[i2].Text := Temp;
    end;
PS: Die Methode von hoika nennt sich Delphi-Referenz durchsuchenAnsiSameStr.

Es ist echt erstaunlich, dass nach über 25 Jahren die VCL immernoch kein halbwegs nutzbares Grid beinhaltet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (23. Jan 2020 um 17:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#2

AW: StringGrid nach Uhrzeit sortieren

  Alt 24. Jan 2020, 06:44
Nur mal so: http://www.bergsoft.net/en-us/product/next-grid
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
ISMIRSCHLECHT

Registriert seit: 17. Dez 2018
Ort: Görlitz
69 Beiträge
 
#3

AW: StringGrid nach Uhrzeit sortieren

  Alt 24. Jan 2020, 10:58
Hi,

Memorydatasets gibts in Delphi kostenlos.
TClientdataset !
Also ein entsprechendes TClientdataset backen, füllen und sortieren per Indexfunktion.
Oder:
Die Daten in passende Objekte hauen, diese in eine TObjectlist füllen und über die Methode Sort nach eigenem Gusto sortieren.

Immer Daten (Objektliste / Dataset) und optische Repräsentation trenne !
Immer Daten sortieren, filtern, aggregieren...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: StringGrid nach Uhrzeit sortieren

  Alt 24. Jan 2020, 12:04
Hallo,
Zitat:
Es ist echt erstaunlich, dass nach über 25 Jahren die VCL immernoch kein halbwegs nutzbares Grid beinhaltet.
Ja, leider.
WordWrap, inplace Editor, Alignment, merged cells
-> nüx kann das TStringGrid
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: StringGrid nach Uhrzeit sortieren

  Alt 24. Jan 2020, 21:48
Nach der reinen Lehre sollten Daten von der Anzeige getrennt sein, also sollte das vorhandene Grid reichen.
Wenn dann die Daten dann noch in einer Liste sind, dann kommt/kommen noch Sortierroutine(n) dazu und man hat alles was man braucht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 14:56 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-2025 by Thomas Breitkreuz