水晶报表的推模式
在一个多层结构中,水晶报表的使用往往比较繁琐:
1、在项目中添加数据集,形成xsd文件
2、利用xsd文件,在水晶报表环境中生成报表
3、回到.net,添加rpt文件
这样做的坏处除了繁琐,就是在UI层直接要访问数据库,将使得层次结构晚节难保。其实利用水晶报表的推模式,将很灵活的实现报表。思路是:事先建立报表的架子,运行时为报表指定数据。具体实现:
1、在水晶报表环境中,建立新数据连结,怎么方便怎么来,建议用oledb,快。
2、然后创建报表
3、回到.net环境中,添加rpt文件。
4、运行时为某个事件(往往是查询事件)编写处理函数,创建rpt类的实例,并设置其数据源为查询结果的数据集。将该实例赋给报表控件。
5、重新绑定即可。
6、注意:似乎水晶报表控件没有Viewstate,Postback后很难保持状态,必须在page_load中判断postback状态,进行数据赋值操作。
1、在项目中添加数据集,形成xsd文件
2、利用xsd文件,在水晶报表环境中生成报表
3、回到.net,添加rpt文件
这样做的坏处除了繁琐,就是在UI层直接要访问数据库,将使得层次结构晚节难保。其实利用水晶报表的推模式,将很灵活的实现报表。思路是:事先建立报表的架子,运行时为报表指定数据。具体实现:
1、在水晶报表环境中,建立新数据连结,怎么方便怎么来,建议用oledb,快。
2、然后创建报表
3、回到.net环境中,添加rpt文件。
4、运行时为某个事件(往往是查询事件)编写处理函数,创建rpt类的实例,并设置其数据源为查询结果的数据集。将该实例赋给报表控件。
5、重新绑定即可。
6、注意:似乎水晶报表控件没有Viewstate,Postback后很难保持状态,必须在page_load中判断postback状态,进行数据赋值操作。