水晶报表是一个报表设计开发的强大工具,功能强大,设计灵活,在水晶报表光盘中只提供了一个完全动态生成报表的例子,使用繁琐。现介绍其在VC++6.0中的简单使用方法。编译环境:VC++6.0 sp5 、Windows 2000 Server sp3 (en)。
一、导入水晶报表使用的动态联接库:根据实际修改文件路径。
#import "C:\Documents and Settings\Administrator\桌面\cr\craxdrt9.dll" no_namespace |
二、定义接口指针变量
//水晶报表变量 IApplicationPtr m_Application; IReportPtr m_Report; //水晶报表控件变量,在对话框中加入该控件 CCrystalReportViewer9 m_CRViewer1; |
三、具体实现步骤
//实例化m_Application m_Application.CreateInstance (__uuidof(Application)); //获取m_Report变量 //staff.rpt为通过向导建立的报表文件,数据库采用SQL Server 7.0 m_Report =m_Application->OpenReport ("C:\\Documents and Settings\\Administrator\\桌面\\cr\\debug\\staff.rpt"); //设置报表标题 m_Report->put_ReportTitle (_bstr_t("Title")); //设置数据库连接变量 //数据库服务器(local),数据库名staff,用户名sa,密码sa m_Report->Database ->Tables ->Item [1]->SetLogOnInfo("(local)","staff","sa","sa"); //设置检索SQL命令 m_Report->put_SQLQueryString ((_bstr_t)"select * from person where id<'4' order by id"); //不显示重复字段 m_Report->PutEnableSelectDistinctRecords (TRUE); //设置检索条件,采用水晶报表语法,功能同设置检索SQL命令 m_Report->PutRecordSelectionFormula ((_bstr_t)"{person.id}='1'"); //设置报表作者 m_Report->PutReportAuthor ("xiaojin"); //将m_Report与报表控件连接 m_CRViewer1.SetReportSource(m_Report); //显示报表工具条 m_CRViewer1.SetDisplayToolbar (TRUE); //不显示报表左边的分组树 m_CRViewer1.SetDisplayGroupTree (FALSE); //不显示控件边框 m_CRViewer1.SetDisplayBorder (FALSE); //刷新数据 m_CRViewer1.Refresh (); //显示报表内容 m_CRViewer1.ViewReport();
|