商品删除
void MainWidget::on_pushButton_DeleteGoods_clicked()
{// 1:首先:提醒用户是否确认删除此记录// 1:获取QMessageBox选择按钮:Yes 或 Noint iClick=QMessageBox::warning(this,"警告","警告:删除操作是根据商品编号进行删除,请确认是否安全?",QMessageBox::Yes|QMessageBox::No);// 2:判断用户是否单击Yes按钮if(iClick==QMessageBox::Yes){// 3:获取当前选择行进行删除:商品记录数据int iRow=ui->tableWidget_ListData->currentRow();// 4:根据index(行,列)获取对应商品编号QString strValue=ui->tableWidget_ListData->model()->index(iRow,0).data().toString();// QMessageBox::information(this,"测试","获取数据为:"+strValue);QSqlQuery result;QString strid=strValue;// 5:判断删除商品编号是否为空???if(strid==NULL){QMessageBox::critical(this,"错误","提示:请选择要删除商品编号,请重新检查?");return;}// 6:实现删除QString sqlquery=QString("delete from commoditydatatable where StockId = %1").arg(strid);if(result.exec(sqlquery)){// 删除提示QMessageBox::information(this,"提示","删除商品记录成功!");// 清空表格控件数据ui->tableWidget_ListData->clear();// 设置表格控件标题(表头)ui->tableWidget_ListData->setHorizontalHeaderLabels(QStringList()<<"编号"<<"名称"<<"数量"<<"单价"<<"供应商家"<<"负责人"<<"入库时间"<<"出库时间"<<"备注");// 调用函数将数据表中数据再次展示到表格控件当中InitTableWidgetFunc();}}else{return;}
}
导出数据为excel
// 导出数据
#include <QFileDialog>
#include <QAxObject>
#include <QDesktopServices>// 该函数功能:导出表格控件数据,直接生成Excel文件保存
void MainWidget::on_pushButton_LoadData_clicked()
{// 保存文件扩展名为:.xlsQDateTime time;QString strTemp;// 1:获取当前系统当时作为文件名称进行保存time=QDateTime::currentDateTime();strTemp=time.toString("yyyy-MM-dd-hhmmss");// QMessageBox::information(this,"测试",strTemp);// 2:应用文件对话框来保存要导出文件名称(设置保存的文件名称)及数据信息QString strFileName=QFileDialog::getSaveFileName(this,tr("Excel Files"),QString("./%1%2.xls").arg(strTemp).arg("_kcgl"),tr("Excel Files(*.xls)"));// QMessageBox::information(this,"测试",strFileName);// 3:处理工作簿if(strFileName!=NULL){QAxObject *excel=new QAxObject;if(excel->setControl("Excel.Application"));{excel->dynamicCall("SetVisible (bool Visible)",false);excel->setProperty("DisplayAlerts",false);QAxObject *workbooks=excel->querySubObject("WorkBooks"); // 获得工作簿集合workbooks->dynamicCall("Add"); // 创建一个工作簿QAxObject *workbook=excel->querySubObject("ActiveWorkBook"); // 获得当前工作簿QAxObject *worksheet=workbook->querySubObject("Worksheets(int)",1);QAxObject *cell;// 1:添加Excel文件表头数据for(int i=1;i<=ui->tableWidget_ListData->columnCount();i++){cell=worksheet->querySubObject("Cells(int,int)",1,i);cell->setProperty("RowHeight",25);cell->dynamicCall("SetValue(const QString&)",ui->tableWidget_ListData->horizontalHeaderItem(i-1)->data(0).toString());}// 2:将表格数据保存到Excel文件当中for(int j=2;j<=ui->tableWidget_ListData->rowCount()+1;j++){for(int k=1;k<=ui->tableWidget_ListData->columnCount();k++){cell=worksheet->querySubObject("Cells(int,int)",j,k);cell->dynamicCall("SetValue(const QString&",ui->tableWidget_ListData->item(j-2,k-1)->text()+"\t");}}// 3:将刚才创建的Excel文件直接保存到指定的目录下workbook->dynamicCall("SaveAs(const QString&)",QDir::toNativeSeparators(strFileName)); // 保存到strFileNameworkbook->dynamicCall("Close()");excel->dynamicCall("Quit()");delete excel;excel=NULL;}}
}