我本无名
菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。
今天一个兄弟离职走了。感觉狠是不爽。
在这里祝兄弟 一路顺风,有一个美好的明天。

生活是生活,工作是工作,无论多不爽,工作总是要进行的,否则连活下去的机会都没有了。(没有工作,就没有钱)

今天第一次使用水晶报表。在网上查了一些,看了飞刀的一些文章。可是自己使用起来不好用,不知道为什么。一直在试。总算是成功了。单位使用的是VS2003和它自代的CR9。为什么不用VS2005,呵呵。。。不知道。
下面是我的方法和相应的代码。我采用的是用.xsd文件做为数据源来处理的。

建立一个.xsd文件。
1,在“解决方案资源管理器” ->选择你的项目右键->添加新文件->选择.xsd文件(数据集)
2,在左边的“服务器资源管理器”中选择相应的表,拉进来就行。

建立一个rpt文件,也就是报表文件
1,在“解决方案资源管理器” ->选择你的项目右键->添加新文件->选择.rpt文件(报表)
2,选择“空白报表”
3,在左边的“字段资源管理器”中选择“数据库字段”,右键,在这里选择你要操作的数库与表。这里不多说了,比较简单,
“添加/删除数据库” - >一般来说,我们的数据库都是OLEDB->选择你的数据库类型,是SQL server还是ORcle或是ACCESS->我用的是SQL server所以这里要添加数据库的信息->选择你要的表
4,在当前数据集中就会出现了。把它们放到“选定表中”。

建立一个.aspx文件
1,在“解决方案资源管理器” ->选择你的项目右键->添加新文件->选择.aspx文件
2,在“工具栏”中拖入一个CrystalReportViewer
在page_load中加入代码
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=chen123;database=C_News;");
            conn.Open();
            SqlCommand cmd 
= new SqlCommand("",conn);
            
//cmd.CommandText = "select * from C_Article a left join C_BigClass b on a.BigClass=b.BigClass";
            cmd.CommandText = "select * from C_Article";
            SqlDataAdapter da 
= new SqlDataAdapter();
            da.SelectCommand 
= cmd;
            DataSet ds 
= new DataSet();
            da.Fill(ds,
"DataSet1");

               //这里要注意,在CR9中必须要加上名字,而且要与表名一样,不然会提示错误。
            ds.Tables[
0].TableName = "C_Article";
   
           


            CrystalReport1 oCR 
= new CrystalReport1();
            oCR.SetDataSource(ds);
            
this.CrystalReportViewer1.ReportSource = oCR;
            
this.CrystalReportViewer1.DataBind();

            conn.Close();
posted on 2008-04-15 15:24  我本无名  阅读(305)  评论(0编辑  收藏  举报