vs2010下使用水晶报表CrystalReports vs2010水晶报表教程

vs 2010下使用水晶报表Crystal Reports 的详细步骤
一。所需条件
 1. 工作环境VS 2010(页面和报表文件要在不同文件夹),对VS 2008,VS 2005 也可。
 2. 数据库 SQL2000 或者 SQL2008
 3. 水晶报表Crystal Reports , CR for VS_13_0
 4. 创建一个网站方式的解决方案
菜单 文件 -> 网站 -> ASP.NET网站,名称为默认的WebSite1
 5. 右击 解决方案WebSite1-> 新建文件夹
创建2个文件夹 ,并更名为, 报表文件夹CR,显示文件夹VW
 6. 右击 解决方案WebSite1-> 添加ASP.NET文件夹
创建1个,存数据的文件夹App_Code

二。数据连接( 这一步骤可以省略,如果之前曾经做过)

 1. 菜单 视图 -> 服务器资源管理器

 2. 右击左侧列表的 “数据连接” -> 添加连接

 3. 数据源
点击右侧的“更改”,弹出更改数据源窗口,
选择“数据源”中,Microsoft SQL Server
选择“数据提供程序”中, 用于 OLE DB 的 .NETFramework 数据提供程序,按“确定”返回后。
确保添加连接窗口的数据源处,显示为: Microsoft SQL Server (OLE DB),如果不对要重新选择。

 4. 服务器名
选择输入自己或其它机器,比如: SVRT1

 5. 登录到服务器
自己机器, 可以选择使用 Windows 身份验证
其它机器, 选择 使用 SQL Server 身份验证 ,用户名 sa ,密码为空或自己的设置

 6. 连接到一个数据库,
选择或输入一个数据库名,比如:xy_jxc_2008

 7. 点击下面的“测试连接”,直到出现 “测试连接成功” 即可,点击 “确定”即可。


三。建立数据源 .xsd

 1. 右击 解决方案的“数据”文件夹 App_Code -> 添加-> 新建项

从左侧“已安装的模板”列表中选 “数据”,右侧列表中选 “数据集”
在下侧 “名称”处输入希望的名称,比如: DataSet1.xsd, 按“添加”进入。

 2. (可选的可以建立 数据连接,如果没有的话)

 3. 添加表或视图

从左侧“服务器资源管理器”-> 数据连接中,点选一个连接,将其中需要的表或者视图,比如:b_sys_user,拖到页面上,点击 菜单 “保存” 即可。


四。设计水晶报表 .rpt

 1. 右击 解决方案的报表文件夹 CR ->添加-> 新建项

从左侧“已安装的模板”列表中选 “Reporting”,右侧列表中选 “Crystal Reports”
在下侧 “名称”处输入希望的名称,比如: CrystalReport.rpt, 按“添加”进入。

 2. 点“确定”按向导继续(这步可省略,如果“我的连接”中有了DataSet1)
左侧“可用数据源”列表中,点开“创建新连接” -> “ADO.NET(XML)”-> “建立新连接”
在弹出的“ADO.NET(XML)”窗口中,点击“文件路径”右侧的“...”按钮,找到刚建立的App_Code文件夹下的DataSet1.xsd
按“打开”->“完成”,返回即可。
左侧“可用数据源”列表中,->“创建新连接” ->“ADO.NET(XML)”之下,已经有了DataSet1

 3. 选定需要的项目
从左侧“可用数据源”列表中,右击“我的连接” -> “刷新”,将看到DataSet1
点开 左侧DataSet1,在其之下 选一个表或者视图,点中部的“>”,选定的表追加到右侧“选定的表”列表中
  同理设置随后的“要显示的字段”、“分组依据”、“过滤字段”等。
在最后步的“可用样式”,选定需要的样式,从右侧预览好,点“完成” 即可。

 4. 过后也可以 右击 报表页面 -> 数据库 -> 数据库专家,再次更改所选之项。

 5. 从左侧“字段资源管理器”,拖进 “数据库字段”到详细资料区域,公式字段,特殊字段的日期,页码等到页眉页脚。

 6. 右击 页面 适当的部位,从中选择插入 文本,直线,图片等,并设置它们的格式。多个文本、字段本身等可以使用工具条上的对齐工具,来使它们同一大小或对齐;而文本、字段框内的内容则使用另外的文字对齐工具;线条则只能在其属性中,设置left,top,right,bottom来达到统一。设置的数值可能是对于不同的区域而言,比如Top=100对于组头,而Bottom=1 则对于组尾。

设置完毕,保存。

五。字段改名、增加或者删除

 1. 设计好报表后,如果需要变更字段,将数据库表或视图的字段,改名、增加或者删除。
 2. 打开数据源DS_V_SHCH_WGHBDMXI.xsd,将变更的表或者视图,从中删除并再次拖入。
 3. 打开报表设计BB_SHCH_WGHBDMXI1.rpt
 4. 点开“字段资源管理器”,右击“数据库字段” -> 登陆或注销服务器。
 5. 在数据资源管理器中,左侧 的“我的连接”中,找到自己的数据源DS_V_SHCH_WGHBDMXI ,点击“登录”按钮,点击“关闭” 退出。
 6. 在“字段资源管理器”,右击“数据库字段” ->验证数据库,一般就可以了。如果是改名称,则需要使用字段影射。

六。如过需要,可按字段分组
 1. 找到左侧“字段资源管理器”之下的“组名字段”并右击它,选择“插入组”或者“组专家”,选择依据分组的字段。
可以继续按“选项”,勾选“在每个页面上重复组头”等。
 2. 将“组头”放到 “页眉” 区域,“组尾”放到 “详细资料” 区域。同时将“组 #1名”放到“页眉”区“组头”的之后适当位置。

 3.将不变化的内容放到“组头”之下,包括表格顶部横向线,说明文字,文字之下的横线,选定所有文字,使用工具条上的“组件对齐工具”,使它们等高、底部对齐,然后再使用工具条上的“文字对齐工具”,使文字,居左、中、右对齐,最终如下的内容:
  ---------------
  | 序号 | 姓名 |
  ---------------
 4. 将可变的字段,以及表格的“竖线”,放到“详细资料”区域,同样也对齐它们如下:

  | NO | NAME|

 5. 选定“详细资料”的所有字段,并右击其中之一 ->设置对象格式,勾选公用选项卡的“可以增大”,以便字段内容过长,可自动扩展到下面多行,而不截断。
 6. 右击“详细资料”的节分割横条, -> 在下方插入节,在新插入的“详细资料 b”中,插入一条横线,或者选择上面的横线,ctrl+c复制,ctrl+V粘贴,移动到本节的顶部,可在属性窗口中,设置该横线的top为1,以便紧帖着“详细资料 b”,上面“详细资料a”中字段扩展多行时,只在自己的小节a中,从而不会覆盖本节b。设计的表格的可变的横线,如下所示:
  ---------------

 7. 将“组尾”也放到“详细资料”区域,并拖动“组尾”紧挨着上面的横线放置,这样行间不会出现更多的间隔。
 8.将上面所有的竖线,从组头区域均向下拉到组尾区域,刚好穿越并超过“组尾”即可,也可以选定所有已经穿越组尾的竖线,在属性窗口中,设置它们的bottom均为1 (对于组尾),它们的top 均为168(对于组头),这样才能保证竖线的连续。
 9. 再将“报表尾”,紧挨着上面穿越的竖线放置即可。




以下步骤可以不做:
 10. 如果需要,可以在组尾放置一条粗横线,将组头以及两边的竖线改成粗线,形成周边的线为粗线。
 11. 将不必要的节接抑制显示,比如,右击“报表尾”、“页脚”的节分割横条,->抑制显示。
 12. 如果要删除不适当的组,可以右击“组头 #x”的节分割横条,->组专家,在右侧“分组依据”列表中,选择不要的分组,点击左向按钮“<”,去处即可。
 13. 如果想一个分组就换页,右击“组头 #x”的节分割横条-> 节专家,保证左侧节列表中,选定的是你的组头,在右侧 “分页”选项卡,勾选“之前新建页”,单击对应的公式按钮“x-2”,在其中输入: groupnumbermod 1=0 ,并点击“保存”即可。
 14. 如果想一页显示固定的行,右击“详细资料”的节分割横条 ->节专家,保证左侧节列表中,选定的是你的“详细资料”,在右侧“分页”选项卡,之后新建页之下,勾选“节末尾”,单击对应的公式按钮“x-2”,在其中输入: 两种方法之一的固定10行,


 ' 方法1 (BASIC 语法) TRUE为分页
 if onlastrecord then
FORMULA = FALSE
 else
if RecordNumber mod 10 =0then
FORMULA = TRUE
else
FORMULA = FALSE
vs2010下使用水晶报表CrystalReports vs2010水晶报表教程
end if
 end if

//方法2(Crystal 语法) TRUE为分页
 if onlastrecord then
False
 else
if RecordNumber mod 5 =0then
TRUE
else
False

 并点击“保存”即可。


七。创建报表显示页面

 1. 右击 解决方案的显示文件夹 VW -> 添加 ->新建项
在左侧“已安装的模板”列表中选 “Web”,右侧列表中选 “Web 窗体”
在下侧 “名称”处 输入希望的名称,比如: Default.aspx, 按“添加”进入。

 2. 报表设计 Default.aspx
从左侧 工具箱 ->报表设计
  2.1 拖入水晶报表显示控件CrystalReportViewer,为CrystalReportViewer1
  2.2 拖入水晶报表数据源控件CrystalReportSource,为CrystalReportSource1,(这步可以不做)

 3. 打开并改造 VW/Default.aspx.cs

  3.1 保留从文件开头 到 类声明语句,以保持本类的完整性
public partial classVW_Default : System.Web.UI.Page

  3.2 之后的全部删除
3.3打开已经作好的报表文件,从类声明语句之后复制到文件尾
3.4 修改成如下的完整列表:
3.5 注意其中的报表名称,视图名称,表名称等即可。


using System;
using CrystalDecisions.CrystalReports.Engine;
using System.Data;
using System .Data.SqlClient;

public partial class VW_Default : System.Web.UI.Page
{
privateReportDocument customerReport = new ReportDocument();
protectedvoid Page_Load(object sender, EventArgs e)
{
string strWhere = "";
if (Request.QueryString["strWhere"] != null)
{
// Security objSecurity = new Security();
// strWhere =objSecurity.DecryptQueryString(Request.QueryString["strWhere"].ToString());
}

show(strWhere);
}

protectedvoid show(string sql)
{
string strPath =Server.MapPath("../CR/CrystalReport.rpt");//报表名称的修改, 上面 步骤四。设计水晶报表
customerReport.Load(strPath);
string str_conn = "Data Source=SVRT1;Initial Catalog=JXC;UserID=sa;Pwd=;";//选择服务器SVRT1,(. 小点代表自己) ,数据库 JXC,连接
string str_sql = "select * fromb_sys_user";//选择表b_sys_user的所有字段
DataSet ds =Query(str_conn,str_sql);
ds.Tables[0].TableName = "b_sys_user";//给定一个表名,报表绑定使用

customerReport.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = customerReport;
}

privatevoid Page_Unload(object sender, EventArgs e)
{
customerReport.Dispose();
}


public DataSet Query(stringSQLconnection_string,string SQLString)
{
using (SqlConnection connection = newSqlConnection(SQLconnection_string))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString,connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}
}

 4. 改造该文件
  4.1 加入引用的命名空间
右击 其中所有“下面加红色波浪线”的不认识的字, 解析 -> 点选using ...
  4.2 完成之后,再去掉无用的 using ....
右击 空白处,-> 组织 using -> 删除未使用的 using... ,将删除不需要的using语句。

八。启动调试


  

爱华网本文地址 » http://www.413yy.cn/a/25101014/232782.html

更多阅读

水晶报表教程 水晶报表开发工具

水晶报表教程——简介本文以一个三层结构的ASP.NET程序为例,介绍如何使用crystalreport来制作一份报表的ASP.NET水晶报表教程,其中着重介绍用ASP.NET水晶报表创建图表的技巧。水晶报表教程——方法/步骤水晶报表教程 1、报表是应用程

Windows7下使用华为ET128上网卡的问题 华为et128怎么用

下了很大决心,前两天终于重新安装了操作系统,将原来运行了2年多的Windows Server2003企业版替换成了现在的32位Windows7专业版。之所以要下决心,原因是每次安装完系统,要把系统调到适应自己习惯,都要很长时间。并且,尽管安装之前做备份,但

tomcat下使用jax-ws的RI环境 jaxws

Deploy JAX-WS Web Services On TomcatPosted on November 23, 2010Bymkyong2. sun-jaxws.xmlCreate a web service deployment descriptor, which is also known asJAX-WS RI deployment descriptor– sun-jaxws.xml.

UNICODE模式下使用rapidxml写xml文件 rapidxml 中文路径

http://blog.csdn.net/ShowLong/archive/2010/12/06/6058273.aspxrapidxml介绍:略也许你下载了rapidxml以后,想在UNICODE模式下使用,但编译时会失败并提示错误,该错误提示如下:errorC2440: '<function-style-cast>' : cannot convert fr

如何在XP下使用笔记本搭建WiFi热点 xp笔记本变wifi热点

因本人经常出差,所以需要使用笔记本搭建WiFi热点,供同行的朋友或者iPad使用,网络上也流行着一些设置的方法,兄弟我告诉您,那些方法都不太好用,局限性太强,还是按照我说的方法办吧!首先,我们假定作WiFi源的机器是A,另外希望使用无限网络的机器

声明:《vs2010下使用水晶报表CrystalReports vs2010水晶报表教程》为网友不曾等待的等待分享!如侵犯到您的合法权益请联系我们删除