您的位置:首页 > 其它

如何使用 IceReport 的报表服务器

2010-01-14 15:52 423 查看
www.aTopSoft.net

使用报表服务器,可以实现报表模板在服务端进行定义,在设计报表模板时,模板与数据库的关联,都在模板中直接编写,从而实现应用编程和报表设计的分离。

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” );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: