Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Befüllen eines Stringgrids

  Alt 9. Sep 2020, 09:47
Am Einfachsten wird es mit einer datensensitieven Verbindung sein,
also Memory-DataSet oder TList<TYourDataObject> via LiveBinding ans Grind anbinden
und dann über die Liste die Daten verwalten. Die Zuordnung zu den richtigen Cells/Rows/Colums wird dann automatisch vorgenommen.
(im VCL war es z.B. TClientDataSet+TDataSource ans TDBGrid)


Ich weiß nicht wie es beim Delphi-Grid aussieht,
aber entweder du mußt über den Spalten-Namen auf die Columns zugreifen, anstatt über einen veränderlichen Index.
Falls sich im FMX-Grod die Objekte der Spalten nicht ändern (neu erstellt werden), wenn man sie verschiebt, dann kann man sich auch zu Beginn die Zeiger Objektreferenzen merken. (im VCL-Grid gind sowas nicht, wenn ich mich richtig erinnere)

Oder, viele Grid-Komponenten (ordentlicher Hersteller) haben die sichtbaren Rows und Coumns
und inten zusätlich noch interne DataRows und Columns Fields,
bzw die sichrbaren Rows/Columns haben zwei Indize, einmal für die Anzeige und so wie sie erstellt wurden (ursprünglich waren).
Du brauchst den "unveränderlichen" "Erstellungs"-Index, wenn du auf die sichtbaren Columns zugreifen willst.
[EDIT] Schau mal was OriginalIndex oder ComponentIndex statt Index in den TStringColumn ausgeben. Aber über den Namen wird es bestimmt besser, vor allem der Code auch lesbarer.


PS: Filtern und Sortieren gibt es bei dir auch? (irgendwann mal)
Wenn ja, dann nicht vergessen, dass auch der richtige Row-Index wichtig ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 9. Sep 2020 um 09:58 Uhr)
  Mit Zitat antworten Zitat