采用QSqlTableModel将数据库数据直接放入QTableView中,使用一行代码setSortingEnabled(true);
即可实现点击表头自动排序,并且支持顺序和逆序:
//设置表格模型
//model = new QSqlTableModel(this);
//指定使用的表
model->setTable("data_net");
//将model放入view中
ui->tableView->setModel(model);
//显示model里面的数据
model->select();
//设置自动排序
ui->tableView->setSortingEnabled(true);
但使用QSqlQueryModel将数据库数据查询后放入QTableView中,再使用setSortingEnabled(true);
就无效了
当然,此时我们查询的时候可以通过SQL语句实现排序,如:
SELECT Company, OrderNumber FROM Orders ORDER BY Company