NCReport是一款轻量级、快速、多平台、简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序。

但是好多使用NCReport控件的朋友都不知道如何在Qt应用程序中使用,本文详细的来说明一下。

一、添加NCReport库到应用程序中。

在项目应用程序中使用NCReport,需要先将报表控件集成到应用程序中去,下面有两种方式可以采用:

1、添加所有的静态资源到你的项目中,并用你的应用程序一起构建。在这种情况下,你不需要NCReport分享的库。打开你的.pro项目文件,并像testapp/testapp.pro做的添加全部的源包到项目中。

2、将NCReport作为分享的库使用。要在你的项目中将NCReport库像其他的库一样使用,你需要在你的项目文件中指定它们。

下面的项目示例中展示了一些必要的设置:

QT = xml sql gui core
TEMPLATE = app
CONFIG += warn_on \
qt \
thread \
release
TARGET = MyApplication
INCLUDEPATH = ../ncreport/includes
HEADERS += ...
SOURCES += ...
win32 {
LIBS += ../lib/ncreport2.lib
}
unix {
LIBS += -lncreport -L../lib -L/usr/local/bin
target.path = /usr/local/bin
}

二、初始化NCReport类

本步骤中主要是说明如何初始化NCReport类。 首先需要添加includes.来包含模块类定义,可以使用下面的代码实现:

#include "ncreport.h"
#include "ncreportoutput.h"
#include "ncreportpreviewoutput.h"
#include "ncreportpreviewwindow.h"

创建NCReport类。可以用下面的代码创建一个类似于另一个QObject基础类的报表类:

NCReport report = new NCReport();

如果之前已经创建了NCReport对象,并传递了一个参数,这时初始化报表就需要调用reset()方法:

report->reset();
//or
report->reset(true);

NCReport::reset()函数将会删除所有的对象引用,并使得报表引擎可以再次运行报表。如果参数设置为true,那么报表参数、添加的数据源比如QStringLists、自定义项目都将会被删除。

三、设置报表源

报表源意思就是NCReport处理XML报表定义的方法。报表定义可能从文件打开,但是也可以从一个SQL数据库表导入,下面额示例就是提供了一个作为报表源的文件:

report->setReportFile( fileName );

上面的这段代码相当于下面的代码:

report->setReportSource( NCReportSource::File );
report->reportSource()->setFileName( fileName );

>>>全文

>>>NCReport免费下载

报表控件NCReport教程:集成NCReport到Qt应用程序中的更多相关文章

  1. ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表

    本篇文章将介绍区域报表和页面报表的常见使用场景.区别和选择报表类型的一些建议,两种报表的模板设计.数据源(设计时和运行时)设置.和浏览报表的区别. ActiveReports 报表控件官方中文入门教程 ...

  2. Qt报表控件NCReport教程:添加报表字段

    NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 在前面的文章<报表控件NCRepor ...

  3. 报表控件NCreport教程:子查询系统设计

    数据报表中经常需要用到主从数据关系,比如发票.订单等一类的特殊文件,在报表控件NCreport中也不例外.数据报表至少有一个表头和一个通过 主键和外键关联的相关细节数据集.子查询系统则是通过父数据源驱 ...

  4. Qt报表控件NCReport教程:报表创建示例

    NCReport是 一款10多年时间的老牌报表控件,最初是在2002年时作为qt3的应用程序的一个联合项目,后来就成为了一个独立的GPL项目.现在的NCReport 是一款轻量级.快速.多平台.简单易 ...

  5. ActiveReports 报表控件官方中文入门教程 (1)-安装、激活以及产品资源

    本系列文章主要是面向初次接触 ActiveReports 产品的用户,可以帮助您在三天之内轻松的掌握ActiveReports控件的基本使用方法,包括安装.激活.创建报表.绑定数据源以及发布等内容.本 ...

  6. ActiveReports 报表控件官方中文新手教程 (1)-安装、激活以及产品资源

     本系列文章主要是面向初次接触 ActiveReports 产品的用户,能够帮助您在三天之内轻松的掌握ActiveReports控件的基本用法,包含安装.激活.创建报表.绑定数据源以及公布等内容. ...

  7. ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

    本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...

  8. Qt开发环境中使用报表控件FastReport遇到的一些问题(一)

    FastReport是一款优秀的报表控件,由俄罗斯开发,国内有代理商.Qt环境下可实现报表功能的还有一款叫NCReport,也是收费控件,比较来比较去还是觉得前者功能强点.网上讲解此控件在Qt中使用的 ...

  9. 浅谈ASP.NET报表控件

    OWC似乎使用者居多,但看见有网友在帖中抱怨OWC在使用时需要许可证书,于是将其排除,我可不想BOSS在看报表时弹出一个“没有许可证书”的窗口. 接着找到了ComponentOne的Web chart ...

随机推荐

  1. Number Sequence

    Number Sequence   A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) ...

  2. 使用explain查看mysql查询执行计划

    explain语句: 字段解释: type:     all(全表扫描)     ref() possible_keys:     预测使用什么列做为索引 key:     实际使用的key     ...

  3. 理解insert all/insert first的使用

    在常用的SQL写法中我们会经常遇到把一个表的数据插入另外一张表的情况,这是一个insert into 表名 select .... from 表名   就可以解决了.但是如果是把一张表的数据同时插入两 ...

  4. SQL语句判断是否为今天或昨天

    方法一 select * from AAA where to_char(a,'yyyymmdd') = to_char(sysdate,'yyyymmdd'); select * from AAA w ...

  5. 修改RectTransform的宽度和高度

    rectTransform.sizeDelta = new Vector2( width, height);

  6. mongodb备忘

    1.远程拷贝数据库 db.copyDatabase(fromdb, todb, fromhost, [dbuser, dbpassword]) 2.数据库备份/恢复(导出/导入) mongoexpor ...

  7. IOS第七天(3:UiTableView 模型和数据的分组的显示)

    *************UiTableView模型和数据的分组的显示 #import "HMViewController.h" #import "HMHero.h&qu ...

  8. C# Color

    一.创建一个Color对象: Color c=Color.FromKnownColor(KnownColor.colorname); 二.四种同样颜色的不同方式: Color c1=Color.Fro ...

  9. 【iCore3 双核心板_FPGA】实验十八:基于单口RAM的ARM+FPGA数据存取实验

    实验指导书及代码包下载: http://pan.baidu.com/s/1i58Ssvz iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. Apache Spark源码走读之24 -- Sort-based Shuffle的设计与实现

    欢迎转载,转载请注明出处. 概要 Spark 1.1中对spark core的一个重大改进就是引入了sort-based shuffle处理机制,本文就该处理机制的实现进行初步的分析. Sort-ba ...