QT报表开发(limereport + QAbstractTableModel)
一、简介
limereport是俄罗斯人QT开发的报表设计器,功能很强大,简单容易上手。网上有编译和读取数据库的教程,在此我不累述,本文主要介绍通过Qt的tablemode加载数据。
二、主要代码
1)重新了QAbstractTableModel通过,数据封装在结构体里。
AlarmQueryModel *m_pModelAlarmQuery = new AlarmQueryModel();QList listInfo;Stu_Alarm_Info STUINFO;STUINFO.iTotalPage = 1;STUINFO.strAlarmid = "strAlarmid ";STUINFO.strEcscode = "strEcscode ";STUINFO.strDevid = "strDevid ";STUINFO.strAlarmCode = "strAlarmCode ";STUINFO.strAlarmtype = "strAlarmtype ";STUINFO.strAlarmgrade = "strAlarmgrade ";STUINFO.strAlarmDate = "strAlarmDate ";STUINFO.strAlarmDesc = "strAlarmDesc ";listInfo.insert(0 ,STUINFO );listInfo.insert(1 ,STUINFO1 );listInfo.insert(2 ,STUINFO );listInfo.insert(3 ,STUINFO );m_pModelAlarmQuery->setModelData(listInfo);
2)向LimeReport添加tablemodel
report = new LimeReport::ReportEngine(this); //to create reportenginereport->dataManager()->addModel("周报",m_pModelAlarmQuery,false);report->dataManager()->addModel( "月报",m_pModelAlarmQuery,false);report->dataManager()->addModel("年报",m_pModelAlarmQuery,false);report->dataManager()->addModel("m_pModelAlarmQuery",m_pModelAlarmQuery,false); //to add datasource to report enginereport->loadFromFile("D:\\1.lrxml"); //to load report template file
报表设计其中就会显示添加的model了

3)设计报表
选择数据块,并向DataBand中放入model参数,


预览后发现只有一条数据

选中DataBand,修改数据源,再预览即可展示你写入model的数据了


代码如下https://download.csdn.net/download/qq_22000089/87006486
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
