#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTableView>
#include <QSqlQueryModel>
#include <QDebug>
#include <QSqlError>
#include <QSqlQuery>
#include <QHeaderView>
#include <QComboBox>
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("./tableview-deom.db");
if(database.open())
{
qDebug()<< "-----------";
}
else
{
qDebug()<< "+++++++++++";
}
model = new QSqlQueryModel(this);
model->setQuery("select * from user");
model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID_Hiden"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("姓名"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("电话"));
model->setHeaderData(3, Qt::Horizontal, QObject::tr("PW-Hiden"));
model->setHeaderData(4, Qt::Horizontal, QObject::tr("家乡"));
model->setHeaderData(5, Qt::Horizontal, QObject::tr("默认"));
model->setHeaderData(6, Qt::Horizontal, QObject::tr("部门"));
QTableView *tableView = new QTableView(this);
tableView->setModel(model);
//隐藏第0、3例
tableView->setColumnHidden(0,true);
tableView->setColumnHidden(3,true);
//设置行头与列头的样式
tableView->horizontalHeader()->setStyleSheet("QHeaderView::section {"
"color: black;padding-left: 4px;border: 1px solid #6c6c6c;}");
//表头填充一下,不然很难看
tableView->horizontalHeader()->setStretchLastSection(true);
tableView->resize(900,300);
// QComboBox *dbComboProvince =new QComboBox(this);
// dbComboProvince->move(1100,350);
dbComboProvince->setModel(mode);
// dataMapper= new QDataWidgetMapper();
// //设置数据模型
// dataMapper->setModel(model);
// //数据的提交策略。
// dataMapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit);//
// dataMapper->addMapping(dbComboProvince,4);
// dataMapper->toFirst();//移动到首记录
resize(1200,400);
QPushButton *btn =new QPushButton("筛选->家乡",this);
btn->move(600,350);
connect(btn,&QPushButton::clicked,this,[this](){
QSqlQuery query = model -> query();
query.exec("select * from user where Home = '广东' ");
model-> setQuery(query);
});
QPushButton *btn0 =new QPushButton("筛选->部门",this);
btn0->move(800,350);
connect(btn0,&QPushButton::clicked,this,[this](){
QSqlQuery query = model -> query();
query.exec("select * from user where Department = '采购部' ");
model-> setQuery(query);
});
QPushButton *btn1 =new QPushButton("清空",this);
btn1->move(300,350);
connect(btn1,&QPushButton::clicked,this,[this](){
//这个removeRows 要自己实现
int rowcount = model->rowCount();
qDebug()<<"row count:"<<rowcount;
qDebug()<<model->removeRows(0,rowcount);
// 先这样实现
QSqlQuery query = model -> query();
query.exec("select * from user where Home = 'dd' ");
model-> setQuery(query);
});
}
MainWindow::~MainWindow()
{
delete ui;
}