当前位置: 首页 > news >正文

工信部的网站备案信息做网页怎么做

工信部的网站备案信息,做网页怎么做,医疗行业网站备案,企业网站前期建设方案案例文章目录 效果图概述功能点代码分析导航栏表格更新视图表格导出表格过滤 总结 效果图 概述 本案例用于对数据库中的数据进行显示等其他操作。数据库的映射#xff0c;插入等功能看此博客框架#xff1a;数据模型使用QSqlTableModel#xff0c;视图使用QTableView#xff0… 文章目录 效果图概述功能点代码分析导航栏表格更新视图表格导出表格过滤 总结 效果图 概述 本案例用于对数据库中的数据进行显示等其他操作。数据库的映射插入等功能看此博客框架数据模型使用QSqlTableModel视图使用QTableView表格的一些字体或者控件之类的使用QStyledItemDelegate实现。 导航栏的变化实时的传回给表格所有的数据库表都实现继承一个表格类根据表格本身的特性可以设置自己的委托。数据库使用一个单列类进行管理包括数据库的读取 创建数据插入以及对模型的映射等。 功能点 自选每页显示行数跳转指定页面上下翻页最后/最前一页跳转表格导出表格查询 代码分析 导航栏 该部分不复杂主要和tableView进行联动void PageNavigator::SetCurrentPage(int page) {if (m_curPage page){return;}if (page 1){page 1;}if (page (int)m_maxPage){page m_maxPage;}m_curPage page;ui-labelCurPage-setText(QString(第%1页/共%2页).arg(m_curPage).arg(m_maxPage));UpdateButtonState();emit SigCurrentPageChanged(m_curPage); // 通知 table 刷新 }表格更新视图 每次使用过滤时要格外注意语句的条件void QTablePages::updateTableView() {if (!m_dataModel)return;if (m_filter ! QString()) // 有过滤条件的情况{int offset (m_currentPage - 1) * m_pageLines;// 使用正则表达式来匹配LIMIT和OFFSET后面的数字QRegExp limitRegex(LIMIT\\s*(\\d));QRegExp offsetRegex(OFFSET\\s*(\\d));// 替换LIMITm_filter.replace(limitRegex, QString(LIMIT %1).arg(m_pageLines));// 替换OFFSETm_filter.replace(offsetRegex, QString(OFFSET %1).arg(offset));m_dataModel-setFilter(m_filter);m_dataModel-select();return;}int offset (m_currentPage - 1) * m_pageLines; // 计算偏移量 要减1因为从0开始m_dataModel-setFilter(QString(11 ORDER BY time DESC LIMIT %1 OFFSET %2).arg(m_pageLines).arg(offset));m_dataModel-select(); }表格导出 简单的导出为csv格式要是为excel格式则需要引入excel的库 void QTablePages::exportToCSV() {if (!m_dataModel)return;QFileDialog dialog(this);dialog.setOptions(QFileDialog::DontUseNativeDialog);dialog.setWindowTitle(tr(表格导出));dialog.setAcceptMode(QFileDialog::AcceptSave);dialog.setNameFilter(tr(CSV Files (*.csv)));dialog.setStyleSheet(color: white;);QString saveFileName;if (dialog.exec()){saveFileName dialog.selectedFiles().first();QFileInfo fileInfo(saveFileName);if (fileInfo.suffix().toLower() ! csv){saveFileName .csv; // 如果用户没有输入.csv则添加它}}// 如果用户取消了操作则返回if (saveFileName.isEmpty())return;// 打开一个文件用于写入QFile file(saveFileName);if (!file.open(QIODevice::WriteOnly | QIODevice::Text)){// 处理错误return;}/// 重置过滤条件-查询所有数据int offset getOffest();int totalPages getTotalPages();QString filter getFilter();m_dataModel-setFilter(QString(11));m_dataModel-select();QTextStream out(file);int columnCount m_dataModel-columnCount() - 1;// 写入列标题 操作列不写入for (int i 1; i columnCount; i){out m_dataModel-headerData(i, Qt::Horizontal).toString();if (i columnCount - 1)out ,;}out \n;// 写入数据auto formatDateTime [](const QDateTime dateTime){return dateTime.toString(yyyy-MM-dd HH:mm:ss);};for (int i 0; i m_dataModel-rowCount(); i){QSqlRecord record m_dataModel-record(i);for (int j 1; j columnCount; j){QSqlField field record.field(j);if (field.type() QVariant::DateTime){// 如果字段是日期时间类型则格式化输出QDateTime dateTime field.value().toDateTime();out formatDateTime(dateTime);}else{// 其他字段按原样输出out field.value().toString();}if (j columnCount - 1)out ,;}out \n;}// 关闭文件file.close();// 恢复过滤条件if (filter ! QString()){m_dataModel-setFilter(filter);}else{m_dataModel-setFilter(QString(11 ORDER BY time DESC LIMIT %1 OFFSET %2).arg(totalPages).arg(offset));}m_dataModel-select(); }表格过滤 数据过滤的条件要和导航栏的偏移分开获取不然过滤会出现问题 void QTablePages::refreshData(const QString dateFrom, const QString dateTo, const QString content) {if (m_dataModel nullptr)return;QString filter;// 获取日期范围QString dateFilter time BETWEEN dateFrom AND dateTo ;// 获取内容过滤条件QString contentFilter;if (!content.isEmpty()){contentFilter content LIKE % content %;}// 构建最终的过滤条件if (!filter.isEmpty()){if (!dateFilter.isEmpty()){filter AND dateFilter;}if (!contentFilter.isEmpty()){filter AND contentFilter;}}else{if (!dateFilter.isEmpty()){filter dateFilter;if (!contentFilter.isEmpty()){filter AND contentFilter;}}else if (!contentFilter.isEmpty()){filter contentFilter;}}// 重置导航条数据m_dataModel-setFilter(filter);m_dataModel-select();m_pageNavBar-updateNavbar(m_dataModel-rowCount(), m_pageLines);// 计算偏移量要减1因为从0开始int offset (m_currentPage - 1) * m_pageLines;// 添加排序、限制和偏移量到过滤条件if (!filter.isEmpty()){filter ORDER BY time DESC LIMIT QString::number(m_pageLines) OFFSET QString::number(offset);}else{filter 11 ORDER BY time DESC LIMIT QString::number(m_pageLines) OFFSET QString::number(offset);}m_filter filter;// 应用最终的过滤条件m_dataModel-setFilter(filter);m_dataModel-select(); }总结 知识理应共享源码在此导航栏表格这些功能基本上都是单独封装好的可以直接拿来用的
http://www.tj-hxxt.cn/news/142799.html

相关文章:

  • wordpress电影站群哪个地图软件可以看清村庄
  • 建设银行商城网站怎样做百度网站推广
  • 做网站兼容ie平台网站推广方案
  • 城乡建设部网站自助商品房怎么样做一家装修竞标网站
  • 阳西网站seo苏州网站建设网站建设
  • 做电影网站如何寻找资源网站后台怎么添加栏目
  • 做效果图常用的网站新闻热点事件2021(最新)
  • 天蝎做网站建网站莆田外贸网站建设
  • 杭州旺道企业服务有限公司关键词优化的原则
  • 网站建设常熟嘉兴网站快照优化公司
  • 用html做静态网站wordpress代码风格主题
  • 官方网站建设 省心磐石网络外国酷炫网站
  • 成都企业建站模板网络运维工程师招聘
  • 请问做网站和编程哪个容易些wordpress投票功能
  • 吉林省建设厅网站首页少儿编程加盟哪个品牌好
  • seo网站项目讲解西安网站建设xamokj
  • o2o手机网站建设难wordpress get_post_meta
  • 温州网站设计服务商个人网站备案信息
  • 连城县住房和城乡建设局 网站网页升级中每天自动更新什么意思
  • 网站会员发展计划基于大数据的精准营销
  • 郑州模板建站无锡网站建设 微信公众号
  • 北京网站建设+知乎导航网站html模板
  • 网站和自媒体都可以做招工 最新招聘信息
  • 有没有免费的企业网站建设做网站 有哪些问题
  • 广西医院响应式网站建设方案中国最新新闻头条
  • 金山区网站制作建设电影网站视频
  • 汕头seo建站wordpress开发公司
  • 黄州网站建设百度2022年版本下载
  • 网站开发关键技术开发网站年度工作总结及明年工作计划
  • 黄页88网站关键词怎么做人才网站开发