Tabelle editieren
-
Bisher habe ich Tabellen( es geht nicht um Datenbanken) immer in einer ListView angezeigt und Änderungen mit Hilfe separater Edit-Felder vorgenommen.
Nun suche ich eine tabellarische Darstellung, in der ich auch editieren kann.
Nachdem ich es nicht geschafft habe TListView zu überreden Eingaben entgegenzunehmen, hat ein ausführlicher Blick in die Hilfe ergeben, dass als "Bearbeitungselemente" nur TEdit, TMaskEdit, TMemo und TRichEdit zur Verfügung stehen.Ist das korrekt
??
Kann es sein, dass es keine tabellarische Darstellung gibt, die editierbar ist??
-
Wie wäre es mit TStringGrid?
-
Danke Joe_M.
Das war's, was ich gesucht hatte
-
Das war's doch noch nicht ganz:
Ich vermisse die Möglichkeit Spalten zu sortieren, oder wenigstens mit einem OnColumnClick-Ereignis auszuwählen
Geht das irgendwie, oder lässt sich das simulieren ??
D A N K E
-
Nein, einen Doppelklick direkt gibt es nicht. Aber ein OnClick() gibt es. Dort könntest Du prüfen, ob auf eine Zelle des Kopfbereiches geklickt wurde. Und wenn es ein Doppelklick sein muss, musst Du halt festhalten wann auf welche Zelle geklickt wurde und nur wenn innerhalb eines bestimmten Zeitfensters erneut auf diese Zelle geklickt wurde, darauf reagieren.
Das Sortieren musst Du ebenfalls selbst implementieren. Ich nehm zu diesem Zweck meist einen std::vector, in die ich mit einer Klasse befülle, die einer Zeile aus dem Grid entspricht. Bei std::vector kann eine Funktion dieser Klasse zum Sortieren verwendet werden. Das Grid selbst verwende ich nur zur Anzeige der Daten.
-
OnDblClick gibt es sehr wohl. Wobei der OP gar nicht danach gefragt hat.
OnColumnClick gibt es nicht.
Zum Sortieren gibt es zwei Einträge in der FAQ.