在《简单实现crystal report动态加载》中,所提供的方法有时候并不能很好的工作。于是通过不断的实验和资料查询,终于发现了更好的方法。核心代码如下
crystaldecisions.web.crystalreportviewer crystalreportviewer1;
string path = server.mappath("./");
path = path + @"\report\report.rpt";
path = path.replace("\\","\\\\");
reportdocument rep=new reportdocument();
rep.load(path);
dataset ds = getdataset(getconn());
rep.setdatasource(ds);
crystalreportviewer1.reportsource = rep;
crystalreportviewer1.databind();
如上代码所示,这个方法通过reportdocument类的load()方法把报表模板加载入内存,利用推模式把dataset数据推入模板。最后把这个reportdocument绑定到crystalreportviewer上。
