#include "problemlist.h" #include "ui_problemlist.h" #include #include #include #include #pragma execution_character_set("utf-8") ProblemList::ProblemList(QWidget *parent) : QMainWindow(parent), ui(new Ui::ProblemList) { ui->setupUi(this); initUi(); } ProblemList::~ProblemList() { delete ui; } void ProblemList::initUi() { ui->tableWidget->setItem(0,0,new QTableWidgetItem("问题清单")); ui->tableWidget->setSpan(0,0,3,2); ui->tableWidget->item(0,0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(0,2,new QTableWidgetItem("整改检查结果及对账销号清单")); ui->tableWidget->setSpan(0,2,1,12); ui->tableWidget->item(0,2)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(1,2,new QTableWidgetItem("整改检查结果")); ui->tableWidget->setSpan(1,2,2,2); ui->tableWidget->item(1,2)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(1,4,new QTableWidgetItem("整改类型")); ui->tableWidget->setSpan(1,4,1,8); ui->tableWidget->item(1,4)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(2,4,new QTableWidgetItem("已整改")); ui->tableWidget->setSpan(2,4,1,3); ui->tableWidget->item(2,4)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(2,7,new QTableWidgetItem("正在整改")); ui->tableWidget->setSpan(2,7,1,2); ui->tableWidget->item(2,7)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(2,9,new QTableWidgetItem("尚未整改")); ui->tableWidget->setSpan(2,9,1,3); ui->tableWidget->item(2,9)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(1,12,new QTableWidgetItem("是否销号")); ui->tableWidget->setSpan(1,12,3,1); ui->tableWidget->item(1,12)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->setItem(1,13,new QTableWidgetItem("销号时间")); ui->tableWidget->setSpan(1,13,3,1); ui->tableWidget->item(1,13)->setTextAlignment(Qt::AlignCenter); // 下级列标题 12个 ui->tableWidget->setItem(3,0,new QTableWidgetItem("序号")); ui->tableWidget->setItem(3,1,new QTableWidgetItem("摘要")); ui->tableWidget->setItem(3,2,new QTableWidgetItem("检查时间")); ui->tableWidget->setItem(3,3,new QTableWidgetItem("检查方式")); ui->tableWidget->setItem(3,4,new QTableWidgetItem("纠正问题")); ui->tableWidget->setItem(3,5,new QTableWidgetItem("完善制度")); ui->tableWidget->setItem(3,6,new QTableWidgetItem("完成时间")); ui->tableWidget->setItem(3,7,new QTableWidgetItem("主要原因")); ui->tableWidget->setItem(3,8,new QTableWidgetItem("完成时限")); ui->tableWidget->setItem(3,9,new QTableWidgetItem("主要原因")); ui->tableWidget->setItem(3,10,new QTableWidgetItem("责任部门或责任人")); ui->tableWidget->setItem(3,11,new QTableWidgetItem("完成时限")); // 禁止编辑 for(int i=0;i<4;++i){ ui->tableWidget->setItemDelegateForRow(i,new TableItemDelegate()); } // 右键菜单 m_menu = new QMenu(this); m_menu->addAction("删除当前行"); ui->tableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tableWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenuSlot(QPoint))); connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteAction())); // 加载公司名 readCompanyFromSQL(); } void ProblemList::readCompanyFromSQL() { ui->comboBox_company->clear(); QString sql = "select DISTINCT name from all_company_info"; QSqlQuery query; if(query.exec(sql)){ qDebug()<comboBox_company->addItem(name); } }else{ qDebug()<exec(QCursor::pos()); } void ProblemList::deleteAction(){ int row = ui->tableWidget->currentRow(); if(row>=4){ qDebug()<<"ok"; ui->tableWidget->removeRow(row); }else{ qDebug()<<"fail"; } } void ProblemList::on_pushButton_addRow_clicked() { ui->tableWidget->insertRow(ui->tableWidget->rowCount()); } void ProblemList::on_pushButton_save_clicked() { QString sql = QString("insert into problem_list_info (name,序号,摘要,检查时间,检查方式,纠正问题,完善制度\ ,完成时间,主要原因,完成时限,主要原因1,责任部门或责任人,完成时限1,是否销号,销号时间) values "); QString name = ui->comboBox_company->currentText(); for(int i=4;itableWidget->rowCount();++i){ QStringList labels; for(int j=0;jtableWidget->columnCount();++j){ QTableWidgetItem *item = ui->tableWidget->item(i,j);; qDebug() <data(Qt::EditRole).toString(); }else{ labels<<" "; } } qDebug()<tableWidget->setRowCount(4); ui->tableWidget->setRowCount(7); // 加载表格信息 qDebug()<<"current :"<tableWidget->setItem(row+4,i,new QTableWidgetItem(query.value(2+i).toString())); } row++; ui->tableWidget->setRowCount(ui->tableWidget->rowCount()+1); // 增加一个新的行 } qDebug()<<"row:"<