一、前言
在Qt与数据库结合编程的过程中,记录一多,基本上都需要用到翻页查看记录,翻页有个好处就是可以减轻显示数据的表格的压力,不需要一次性将数据库表的记录全部显示,也基本上没有谁在一页上需要一次性显示所有记录,搜索引擎搜索出来的结果也基本上都是翻页显示的,那么问题来了,有没有一种通用的办法可以只需要传入表名和查询条件自动翻页呢,答案是肯定的,Qt对数据库操作的封装也是相当完美的,显示也是如此,为此特意封装成了一个类,直接用就行。
主要功能:
自动按照设定的每页多少行数据分页
只需要传入表名/字段集合/每页行数/翻页指示按钮/文字指示标签
提供公共静态方法绑定字段数据到下拉框
建议条件字段用数字类型的主键,速度极快
增加线程查询符合条件的记录总数,数据量巨大时候不会卡主界面
提供查询结果返回信号,包括当前页/总页数/总记录数/查询用时
可设置所有列或者某一列对齐样式例如居中或者右对齐
可设置增加一列,列的位置,标题,宽度
可设置要查询的字段集合
二、代码思路
void DbPage::bindData(const QString &sql)
{
queryModel->setQuery(sql, QSqlDatabase::database(connName));
tableView->setModel(queryModel);
//依次设置列标题列宽
int columnCount = tableView->model()->columnCount();
int nameCount = columnNam