水晶报表
vs2012 中水晶报表引用
1.下载安装包安装,你可以从下面链接下载:
http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_5.exe
2.添加4个引用
3.添加一个.rpt文件
1)绑定数据源
2)手动画出报表表格,拖动显示字段
字段显示的时候碰到了几个小问题:
a.一个格子里面显示两个字段;
b.格子里面的字段根据条件判断显示;
c.文本上下左右对齐;
解决方法:
a.制一文本框,在文本框中把要显示的两个字段拖进来
b.建一个公式字段,在公式字段里面添加条件
c.这个居中问题不好弄,水晶报表里面只有左右居中,没有垂直居中,在网上找了好久也没有找到方法,最后在一篇博客里面看到了一个行的同方法(不是垂直居中)
4.还要添加一个.aspx文件
界面代码
<body> <form id="form1" runat="server"> <div> <CR:CrystalReportViewer ID="ReTransport" runat="server" AutoDataBind="true" /> </div> </form> </body>
后台绑定代码
public void GetList() { ReportDocument doc = new ReportDocument(); doc.Load(Server.MapPath("/Cry/StudentInfo.rpt")); string studentType = Request.QueryString["studentType"].ToString(); string schoolCode = Request.QueryString["schoolCode"].ToString(); string district = Request.QueryString["district"].ToString(); string strWhere = " TiJiaoStatus=1"; if (!string.IsNullOrEmpty(studentType)) { strWhere += " and TypeName='" + studentType + "'"; } if (!string.IsNullOrEmpty(district)) { strWhere += " and DistrictCode='" + district + "'"; } if (!string.IsNullOrEmpty(schoolCode)) { strWhere += " and PrimarySchoolCode ='" + schoolCode + "'"; } strWhere += " ORDER BY TiJiaoNumber "; DataTable dt = new BLL.ObjMethod().GetList("View_Student", strWhere); ReTransport.ToolPanelView = ToolPanelViewType.None; doc.SetDataSource(dt.DefaultView); this.ReTransport.ReportSource = doc; }