您的位置:首页 > 其它

CrystalReports for .net (vs2005,web) 问题总结

2008-11-18 18:04 393 查看
1、使用水晶报表的简要步骤:

(1)添加新项-->数据集-->在dataTable中添加列,使强类型数据集的架构与你的数据dataset架构相同。生成所在项目,这个是必须的,否则后面不能显示出DataSet。

(2)添加新项-->水晶报表(.rpt)-->标准向导-->项目数据中-->ADO.net数据集-->展开,看见你刚创建的强类型数据集或表(DataTable),添加表,添加显示字段,(筛选字段等条件依情况添加)下一步,下一步,ok.(如果这里没有添加显示字段,就在报表设计器--crystalReportDesigner中,右键属性,字段资源管理器,拖进详细资料里面)

(3)建一个新页面(.aspx),工具箱拖进来查看器控件(CrystalReportViewer),页面代码添加对报表引擎的引用:using CrystalDecisions.CrystalReports.Engine;页面代码如下:

ReportDocument doc = new ReportDocument();//不建议用CrystalReportSource的ReportDocument属性,后面说原因

doc.Load(Server.MapPath("CrystalReportSource/CrystalReport1.rpt"));//你建的水晶报表虚拟路径

DataTable dt=new 强类型Table;//获取数据源

doc.SetDataSource(dt);

viewer.ReportSource = doc;

viewer.DataBind();

(4)基本搞定,生成,运行,如果看到每页显示的数据比较少,可以在设计器中,详细资料那一节的距离拉小,距离越小,每页显示的数据越多,也不是无限多下去,页面有限,详细资料的距离也有最小值(也就是说,拖到一定程度就不能拖了)

往往我们需要的报表不是那么简单的,在使用的过程中,有这样或那样的问题,一个一个的解决,上帝不会把一个我解决不了的问题摆在我面前。

1、刚调试两天,就出现“已达到系统管理员配置的最大报表处理作业数限制的处理”黄页,加载水晶报表出错实际上,C:\WINDOWS\Temp目录下,生成了很多很多临时文件,一天就要好几百个,电脑不重启,这些临时文件就会越堆越多,导致上述错误,也有人说是并发访问的错误,在Web中出现的情况较多,winform不会出现该状况。有两种解决方法:

方法一:修改下面两个键的值。

HKEY_LOCAL_MACHINE;SOFTWARE;Crystal Decisions;10.0;Report Application

Server;InprocServer;PrintJobLimit 修改为1000

还有一个HKEY_LOCAL_MACHINE;SOFTWARE;Crystal Decisions;10.0;Report Application

Server;Server;PrintJobLimit 也修改为1000 (这个方法我不推荐,也没试过,因为我做的web页面要放到server上,难道server上也要改吗?这不是问题的根源,看下面)

方法二:在页面加一段代码:

protected void Page_UnLoad(object sender, EventArgs e)

{

if (doc != null)//doc 就是创建的reportDocument实例

{

doc.Dispose();//防止查看水晶报表时,在C:\WINDOWS\Temp下产生很多临时文件

}

}

搞定,问题解决了!

2、除去水晶报表的logo

crystalReportViewer的属性-->HasCrystalLogo=false;

3、不让报表自动分页,也就是不分页

crystalReportViewer的属性-->seperatePages=false;

4、详细资料节和页眉节通通隐藏不显示,但是所在页为空白页,仍然显示 设计器-->详细资料-->右键-->抑制显示(无向下钻取),光这个还不够,反正我都弄了才好使的

右键-->节专家-->详细资料-->抑制显示空白节(打钩)、保持在一起(不打勾)、在后面页新建页(不打勾)

具体每个属性什么意思,可以深入研究一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐