一、新建乙個基於對話方塊
mfc的應用程式工程,然後向對話方塊中插入控制項
」crystal activexreport viewer control 10.5」
。向工程中新增
」 crystalreportviewer10.h」
,」 crystalreportviewer10.cpp」
,」 crvtrackcursorinfo.h」
,」 crvtrackcursorinfo.cpp」
這四個c++
的標頭檔案和原始檔。然後把
craxddrt.dll
檔案複製到工程目錄下。
二、在」stdafx.h」
標頭檔案中加入
#import
"craxddrt.dll"
no_namespace
和#include
「crystalreportviewer10.h」
三、在需要使用水晶報表的類中定義三個變數:
ccrystalreportviewer10m_reportview
; //
水晶報表控制項變數
ireportptr
m_report; //
報表指標
四、在使用水晶報表的原始碼中新增如下**: //
初始化水晶報表
hresult
if (failed(hr))
//開啟水晶報表
if (m_report == null)
m_reportview.setdisplay*******(true); //
是否顯示工具欄
m_reportview.setdisplaygrouptree(false);//
是否顯示分組樹
m_reportview.setdisplayborder(false); //
是否顯示報表邊框
m_reportview.setdisplaytabs(false); //·····
m_report->areas->getitem("gh1")->newpagebefore= false; //
是否按組分頁
m_reportview.setreportsource(m_report); //
把報表加到控制項中
m_reportview.viewreport(); //
顯示報表
m_reportview.zoom(1); //
報表的初始大小,值為時為「整頁
」方式顯示
m_reportview.refresh(); //
重新整理報表
五、實現報表重新整理:
設定乙個定時器:
settimer
(1, 5000, null); //
定時器,每
5秒重新整理報表一次
新增乙個基於
wm_timer
事件的函式
ontimer()
。ontimer
的**如下: //
設定重新整理報表定時器
void
cmycrydlg::ontimer(uint_ptr
nidevent)
六、由於vs
中操作水晶報表都是使用
com介面,使用使用完後要呼叫
release()
釋放掉。 七、
在目標計算機上部署水晶報表程式(
vc++
程式)
visual studio2008
中自帶的水晶報表控制項
10.5
在基於microsoft .net framework 3.5
的,要在目標計算機上部署水晶報表程式要先安裝
microsoft .netframework 3.5
。然後安裝
crredist2008_x86.msi
。最後記得把在目標計算機上註冊
crviewer.dll
(水晶報表顯示控制項,在命令列下使用
regsvr32crviewer.dll)。
注:crredist2008_x86.msi
的路徑
crviewer.dll
的路徑c:/program files/business objects/common/2.8/bin
在VC中使用水晶報表
來自 http blog.csdn.net memory xj archive 2008 04 16 2296970.aspx 水晶報表是乙個報表設計開發的強大工具,功能強大,設計靈活,在水晶報表光碟中只提供了乙個完全動態生成報表的例子,使用繁瑣。現介紹其在vs2005 vc 中的簡單使用方法。編譯...
在VC中使用水晶報表
水晶報表是乙個報表設計開發的強大工具,功能強大,設計靈活,在水晶報表光碟中只提供了乙個完全動態生成報表的例子,使用繁瑣。現介紹其在vs2005 vc 中的簡單使用方法。編譯環境 vs2005 vc windows xp。一 匯入水晶報表使用的動態聯接庫 根據實際修改檔案路徑。import c pro...
在VC中使用水晶報表
水晶報表是乙個報表設計開發的強大工具,功能強大,設計靈活,在水晶報表光碟中只提供了乙個完全動態生成報表的例子,使用繁瑣。現介紹其在vs2005 vc 中的簡單使用方法。編譯環境 vs2005 vc windows xp。一 匯入水晶報表使用的動態聯接庫 根據實際修改檔案路徑。import c pro...