Hallo zusammen,
ich habe ein kleines Problem mit meiner Datenbank und den dort definierten Datentypen.
Ich habe mehrere Datenbanken mit verschiedenen Spalten und jede Spalte hat einen unterschiedlichen Datentyp z.B. varchar(30), integer, double, float und binary. Nun habe ich die Klasse QSqlQueryModel gesubclassed um das Model editierbar zu machen. Das ganze lasse ich mir dann mittles einer QTableView anzeigen.
Das Problem nun: Wenn ich nun einen Wert über meine GUI in die QTableView eingebe, dann lässt der nur double mit zwei Nachkommastellen zu. Ich habe dann die Funkktion
data ( const QModelIndex & item, int role = Qt::DisplayRole ) neu geschrieben, und konnte damit erreichen, dass er vier Nachkommastellen zugelassen hat. Allerdings für alle Datentypen. Bei dem Datentyp Binary möchte ich das natürlich nicht, sondern da möchte ich nur eine 1 oder eine Null stehen haben. Bei Float möchte ich 4 Nachkommastellen und bei Double zwei.
Gibt eine Möcglichkeit, dass er beim editieren über das QTableView automatisch die der Datenbank zugrunde liegenden Dataetypen nimmt ?
Ansonsten muss ich halt eine Funktion schreiben, die mir den entsprechenden Datentyp bestimmt und dann dementsprechend anzeigt. Vielleicht geht es aber auch einfacher?
Grüße und schönen Sonntag,
Andreas