![]() |
Tabelle (Grid) Beratung
Ich möchte eine Tabelle anlegen mit 9 Spalten. Die Spalten sollen feste Überschriften haben. Ich möchte den Inhalt der Tabelle in Runtime bearbeiten können, Zeilen löschen und hinzufügen können und den Inhalt in einer Datei abspeichern und laden können. Welche Grid nehme ich da am besten? TStringGrid, TDBGrid oder total was anderes?
|
AW: Tabelle (Grid) Beratung
Ich bin ja total der Fan von ListView-Komponenten.
Wäre das keine Alternative? Die Daten einer ListView kann man wunderbar abspeichern und laden. |
AW: Tabelle (Grid) Beratung
*edit*
Gibt einen empfohlenen Guide dazu? |
AW: Tabelle (Grid) Beratung
Mit ViewStyle vsReport ist die Darstellung dann auch in Gridform.
Oder noch besser (allerdings mit etwas Einarbeitungsaufwand) wäre ein VirualTreeView |
AW: Tabelle (Grid) Beratung
Zitat:
|
AW: Tabelle (Grid) Beratung
Wie speichere ich dann die Listview in eine Datei? Hat es schon eine Methode?
|
AW: Tabelle (Grid) Beratung
Man geht Zeile für Zeile und Spalte für Spalte durch und baut sich so seine eigene Datei auf.
Ich speichere alles in einer Ini-Datei ab. Aber bei mir ist das etwas anders. Ich speichere die Daten direkt nach Erstellung und nicht erst am Ende "Zeile für Zeile/Spalte für Spalte". |
AW: Tabelle (Grid) Beratung
Wenn ich jetzt eine Tabelle damit aufbaue (ich füge ja über Items und Subitems Sachen ein) wie kann ich dann bei Laufzeit da einfach den Inhalt bearbeiten? Geht das so einfach?
|
AW: Tabelle (Grid) Beratung
Indem du einfach auf die Caption eines Items oder die SubItems eines Items zugreifst und den Text änderst.
Das ist aber angeblich schlechter Stil. Ich habs trotzdem viele Jahre so gemacht und nie Probleme gehabt.
Delphi-Quellcode:
// z.B.
ListView1.Items[2].Caption := 'Neue Caption für Item 3'; ListView1.Items[2].SubItem[0] := 'Neue Caption für SubItem 1 von Item 3'; |
AW: Tabelle (Grid) Beratung
Ich möchte in die Tabelle klicken und die Einträge ändern können.
*edit* Ich habe es gerade probiert. Man kann die Caption ändern aber nicht die SubItems. |
AW: Tabelle (Grid) Beratung
Schau Dir mal den VirtualTreeView (VirtualStringTree) an. Ist egentlich auch ein ListView. Er bietet ausgezeichnete Unterstützung bei der virtuellen Datenhaltung ( Streaming; Speicherung nicht in der Komponente; Laden bei Bedarf) und bei der Möglichkeit induviduelle Bearbeitungsmöglichkeiten auf Zellenebene zu implementieren (Editoren).
![]() ![]() ![]() |
AW: Tabelle (Grid) Beratung
Ich habe noch nie ein echtes Grid ausprobiert, weil die einfach hässlich aussehen. Aber ich glaube diese Funktionalität bietet ein normales Grid.
Ich würde aber auch ein VirtualStringTree nehmen. Ist zwar super kompliziert wie ich finde, die Möglichkeiten damit sind aber deutlich umfangreicher. |
AW: Tabelle (Grid) Beratung
Wenn die Tabelle nicht zu groß wird, würde ich ein schnödes StringGrid nehmen.
Da hast du dann auch direkt .SavetoFile und .LoadFromFile. |
AW: Tabelle (Grid) Beratung
Ich habe jetzt StringGrid genommen. Es gibt auch da kein .SaveToFile und .LoadFromFile aber ich habe das selbst geschrieben. Eine neue Zeile hinzufügen habe ich jetzt auch. Es fehlt nur noch "Zeile löschen", entweder einfach letzte Zeile löschen oder selektierte.
|
AW: Tabelle (Grid) Beratung
Zitat:
|
AW: Tabelle (Grid) Beratung
Zitat:
|
AW: Tabelle (Grid) Beratung
Ok Zeile löschen habe ich jetzt auch hinbekommen. Wenn noch Fragen aufkommen melde ich mich hier wieder. Vielen Dank für die vielen Antworten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 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