Hallo zusammen,
ich habe ein kleines Bücherdatenbank-Programm geschrieben. Ich zeige die Informationen zu den Büchern in mehreren Spalten an.
Jetzt möchte ich gerne die Reihenfolge der Spalten in dem View ändern.
Der User gibt die Reihenfolge vor.
Gibt es eine Methode:
setColOrder(QStringList colNames)
Oder wie implementiere ich sowas selber?
Gruß,
Grisu
QTableView QSqlTableModel Reihenfolge der Spalten festlegen
Eine erste Lösung habe ich gefunden
aber noch nicht ganz das was ich öchte
Ich kann jetzt manuell die Reihenfolge der Spalten ändern. Beim Beenden Speichern und beim Starten wieder laden:
Ich habe den verschiedenen Spalten in meinem QSqlTableModel mit setHeaderData die Bezeichnungen der Spalten verpasst. Mithilfe dieser Bezeichnungen oder der Position in der SQL-Tabelle möchte ich gerne die Position ändern, aber das scheint so einfach nicht zu gehen?
Hat jemand eine Idee?
Ich kann jetzt manuell die Reihenfolge der Spalten ändern. Beim Beenden Speichern und beim Starten wieder laden:
Code: Alles auswählen
MasterOfBooks::MasterOfBooks(QString pfad, QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//tvBooks ist mein Tableview
//Hiermit kann man nun die Spalten verschieben
ui.tvBooks->horizontalHeader()->setMovable(true);
//Hiermit lade ich die alte Einstellungen des Headers
QSettings settings("books.ini",QSettings::IniFormat);
ui.tvBooks->horizontalHeader()->restoreState(settings.value("spaltenSort").toByteArray());
}
MasterOfBooks::~MasterOfBooks()
{
QSettings settings("books.ini",QSettings::IniFormat);
//Hier speicher ich die aktuellen Einstellungen des Headers
settings.setValue("spaltenSort",ui.tvBooks->horizontalHeader()->saveState());
}
Hat jemand eine Idee?