水晶报表之Visual C++2003简单使用方法
1.加入命名空间
#import "C://Program Files//Common Files//Crystal Decisions//1.0//Bin//craxddrt20.dll" no_namespace
2.定义变量
public:
IApplicationPtr m_Application;
IReportPtr m_Report;
3.简单使用(不使用数据库)
ISectionsPtr secsObj;
ISectionPtr secObj;
ITextObjectPtr Text1;
//初始化参数
VARIANT dummy;
VariantInit(&dummy);
dummy.vt=VT_EMPTY;
//打开水晶报表文件
m_Report=m_Application->OpenReport("UserInfo.rpt",dummy);
//获得该报表节点
secsObj=m_Report->GetSections();
VARIANT var2;
VariantInit(&var2);
var2.vt = VT_I4;
var2.lVal = 3;//第三个需要打印的节点
//定位到指定控件
secObj = secsObj->GetItem(var2);
//获得该节点控件句柄
IReportObjectsPtr ReportObj = secObj->GetReportObjects();
//定位到指定控件
var2.lVal = 2;
IReportObjectPtr DispatchObj=ReportObj->GetItem(var2);
//控件类型比较
if (DispatchObj->GetKind()==crTextObject)
{
//获得该控件(该控件为文本框控件)
Text1=DispatchObj;
//设置文本内容
Text1->SetText("123456789");
}
//打印
m_Report->PrintOut(dummy,dummy,dummy,dummy);
//释放报表
m_Report.Release();
//释放应用程序实例
m_Application.Release();
//释放内存
free(m_Application);
1.加入命名空间
#import "C://Program Files//Common Files//Crystal Decisions//1.0//Bin//craxddrt20.dll" no_namespace
2.定义变量
public:
IApplicationPtr m_Application;
IReportPtr m_Report;
3.简单使用(不使用数据库)
ISectionsPtr secsObj;
ISectionPtr secObj;
ITextObjectPtr Text1;
//初始化参数
VARIANT dummy;
VariantInit(&dummy);
dummy.vt=VT_EMPTY;
//打开水晶报表文件
m_Report=m_Application->OpenReport("UserInfo.rpt",dummy);
//获得该报表节点
secsObj=m_Report->GetSections();
VARIANT var2;
VariantInit(&var2);
var2.vt = VT_I4;
var2.lVal = 3;//第三个需要打印的节点
//定位到指定控件
secObj = secsObj->GetItem(var2);
//获得该节点控件句柄
IReportObjectsPtr ReportObj = secObj->GetReportObjects();
//定位到指定控件
var2.lVal = 2;
IReportObjectPtr DispatchObj=ReportObj->GetItem(var2);
//控件类型比较
if (DispatchObj->GetKind()==crTextObject)
{
//获得该控件(该控件为文本框控件)
Text1=DispatchObj;
//设置文本内容
Text1->SetText("123456789");
}
//打印
m_Report->PrintOut(dummy,dummy,dummy,dummy);
//释放报表
m_Report.Release();
//释放应用程序实例
m_Application.Release();
//释放内存
free(m_Application);