Seite 1 von 1

TableView und SqlTableModel

Verfasst: 22. Februar 2007 11:39
von horchi
Hallo,

ich bin neu im Forum und auch erst kürzlich in die Programierung mit QT eingestiegen. Natürlich habe ich, wie nicht anders zu erwarten, gleich ein paar Fragen ;)

Ich verwende eine mit einem SqlTableModel verbundene TableView (QT 4.2.2).

1. Ist es möglich diese Table View so einzustellen, dass ein bestimmtest Datumsfeld nicht als Date-Time sondern reines Date dargetellt wird (in der Datenbank ist es ein Date-Time Feld). Ich habe dies nun mittels QItemDelegate gelöst, gibt es einen direkteren bzw. besseren Weg?

2. Wie kann ich in dieser View eine bestimmte Spalte Read-only machen?

3. Nun mein Hauptproblem, nach dem bearbeiten eines Feldes in der TableView wird die Ansicht automatisch (EditStrategy ist OnFieldChange) aktualisiert, dies hat ein scrollen zur oberen linken Ecke zur Folge was natürlich beim bearbeiten der Daten super hinderlich ist. Wie kann ich mir die aktuelle Position des Eingabecursers und auch Scrollposition merken und wieder hertellen (oder besser verhindern, dass er überhaut dort wegscrollt)? Ich möchte gern bei EditStrategy OnFieldChange bleiben.

Vielen Dank und Grüße
Horchi

Verfasst: 22. Februar 2007 18:20
von upsala
Ich würde ein eigenes Model auf dieser Basis verwenden: EditableSqlModel

Dann kannst du bei einer Spalte den Typ und bei der anderen das ReadOnly ändern. Außerdem kannst dann event. verhindern, daß der Cursor rückgesetzt wird.

Verfasst: 23. Februar 2007 16:01
von horchi
Hi upsala,

danke für den Tipp, ich habe mir das Beispiel angesehen, beantwortet ja schon fast alle Fragen. Ich schaue mal ob ich das mit dem zurückspringen des Cursors damit auch in den Griff bekomme.

horchi