如何使用 IceReport 的报表服务器

阅读:169次   时间:2010-01-12 00:00:00   字体:[ ]
使用报表服务器,可以实现报表模板在服务端进行定义,在设计报表模板时,模板与数据库的关联,都在模板中直接编写,从而实现应用编程和报表设计的分离。
1. 先定义模板的样式
 
2.这个模板要与数据库进行关联,则定义数据源, 在数据源中可以定义与数据库的关联。
 
 
数据源的定义可以是与数据库进行关联,也可以自己定义数据,如:
<DataSource>
<Report>
        <DataReader Name ='Mid'>
               <SubDataSet Vars='ywzl;sfxm'>
                       <Row><Item>1</Item> ><Item>4.5564</Item></Row>
                       <Row><Item>1</Item> ><Item>4.5564</Item></Row>
                             <Row><Item>1</Item> ><Item>4.5564</Item></Row>
           </SubDataSet>
        </DataReader>
</Report>
</DataSource>
 
3. 把当前模板导入到报表服务器中
 
4.接下就可以调用该模板了,设置方式有两种
a.只使用 Rptctl 中的 CreateRpt
如:
Rptctl. CreateRpt( “RptServer:\\127.0.0.1\aa\客户信息.rpt? DSName=Default” );
 
b.使用 Rptctl 中的 LoadDataSource
如:
Rptctl. CreateRpt( “RptServer:\\127.0.0.1\aa\客户信息.rpt”);
Rptctl.LoadDataSource( “Default” );
            
注:如果在数据源中有变量,如
<DataSource>
<Report>
        <DataReader Name ='Mid'>         
               <ConnectString>Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\demo.mdb</ConnectString>
               <SQL>Select LoginName as zh, UserName as cm , Addr as dz , age as nl from Tab_User where age > [age]</SQL>
        </DataReader>
</Report>
</DataSource>
 
其中有一个 [Age ] 的变量,则在 LoadDataSource 时,要传入变量的值,如:
1. 直接调用
Rptctl. CreateRpt( “RptServer:\\127.0.0.1\aa\客户信息.rpt? DSName=Default&age=20” );
     
2. 分别调用
Rptctl. CreateRpt( “RptServer:\\127.0.0.1\aa\客户信息.rpt”);
Rptctl.LoadDataSource( “Default”, “age=20” );
 源码推荐
关于本站 - 广告服务 - 会员指南 - 联系方法
Copyright ©2003-2011 源码天空 All Rights Reserved