VisualStudio20082010CrystalReports(水晶报表)快速入门

上传人:宝路 文档编号:2143787 上传时间:2017-07-20 格式:DOCX 页数:5 大小:43.28KB
返回 下载 相关 举报
VisualStudio20082010CrystalReports(水晶报表)快速入门_第1页
第1页 / 共5页
VisualStudio20082010CrystalReports(水晶报表)快速入门_第2页
第2页 / 共5页
VisualStudio20082010CrystalReports(水晶报表)快速入门_第3页
第3页 / 共5页
VisualStudio20082010CrystalReports(水晶报表)快速入门_第4页
第4页 / 共5页
VisualStudio20082010CrystalReports(水晶报表)快速入门_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《VisualStudio20082010CrystalReports(水晶报表)快速入门》由会员分享,可在线阅读,更多相关《VisualStudio20082010CrystalReports(水晶报表)快速入门(5页珍藏版)》请在金锄头文库上搜索。

1、Visual Studio 2008/2010 水晶报表快速入门先新建一个 Web项目: CrystalWebApp为项目添加新项: CrystalReport1.rpt在弹出的对话框,选择作为空白报表。用向导当然更方便,但在这里,白手起家或许能更好地理解。在工具箱选择 Text Object,拖到报表头。写些字,设置字体之类的。在属性选项卡设置它的名字为 txtTitle 以供将来程序访问。水晶报表对于程序员来说其实跟 Repeater 控件是很相似的。于是需要数据和字段名。在 Repeater 控件中你可以很随意地指定要绑定的字段名。在程序还没有真正运行之前,这个字段名可以没有任何表的字段

2、名跟它匹配,也可以没有任何类的属性名跟它匹配。但在水晶报表中,字段名在设计阶段就必须是真实存在的。还能稍感安慰的是,水晶报表一旦设计好之后,就能像 Repeater 控件那样绑定任意类型的对像。而不必是设计时指定字段来源的表或类。所以我们现在要创造些真实存在的字段名create table TabTest(UserIDint,UserNamenvarchar(50),Age int,Birthday datetime)你可以用 Access 或者 Excel 来创造真实存在的字段名,但我这里是使用 SQL Server。 在 字段资源管理器 的 数据库字段 上按右键,选择 数据库专家.。在弹出

3、的对话框中,创建新连接=OLE DB (ADO)(Access 或者 Excel 应点 数据库文件 前的 + 号)。 在弹出的对话框,选择 SQL Native Client 作为提供程序。 按提示一步步地做,直到连上数据库。选择表 TabTest,把它弄到右边的框中。再点击确定。折腾了半天就是为了这些字段名。对水晶报表的开发商无语把需要显示的字段拖到 详细资料。页眉 和 Word 文档中的页眉完全不是一回事。这里的页眉其实就是列名(表头)。那么就顺便改一下列名吧。默认是有下划线的,可以改一下格式。页脚 倒是跟 Word 文档中的页脚概念相同,可以拖个特殊字段页码进去。点击工具箱中的 Line

4、 Object 可以为报表画线。你会发现,画一个表格竟然是如此地困难。在报表空白处按右键,设计=打印机设置 也许有你想要的东西。那么专业的事情应该交给那么专业的人士去做,我们的任务是写代码进入 Default.aspx 的设计视图,从工具箱中拖个 CrystalReportViewer 过来。接下来需要数据。数据当然可以是来自设计时的表。但我这里是来自于新建的类: UserInfo。在项目中添加一个 UserInfo 类。using System;namespaceCrystalWebApppublic class UserInfoprivateintuserID;publicintUserI

5、Dget return userID; set userID = value; private string userName;public string UserNameget return userName; set userName = value; privateint age;publicint Ageget return age; set age = value; privateDateTime birthday;publicDateTime Birthdayget return birthday; set birthday = value; 为 Default.aspx 写些后台

6、代码using System;usingSystem.Collections.Generic;usingCrystalDecisions.CrystalReports.Engine;usingCrystalDecisions.Shared;namespaceCrystalWebApppublic partial class _Default : System.Web.UI.Pageprotected void ForCrystalReport()ReportDocument doc = new ReportDocument();doc.Load(Server.MapPath(CrystalRe

7、port1.rpt);/doc = new CrystalReport1();TextObjecttxtTitle = (TextObject)doc.ReportDefinition.ReportObjectstxtTitle;txtTitle.Text += 相当不错;List list = GetData();doc.SetDataSource(list);this.CrystalReportViewer1.ReportSource = doc;protected ListGetData() List list = new List();for (inti = 0; i list = G

8、etData();doc.SetDataSource(list);这两行删除掉。在浏览器中查看一下效果。将会看到类似这样的效果。输入密码后就能看得到数据了。现在我们明白,如果不给报表设置数据源,它就会从设计时指定的数据源中获取数据。但这样需要登录的方式,一般人是不愿看到的。可以让它自动登录。在删掉两行代码的地方插入下面的代码:TableLogOnInfo info = new TableLogOnInfo();info.ConnectionInfo.DatabaseName = dbtest;info.ConnectionInfo.Password = sa;info.ConnectionInfo.ServerName = localhostsqlexpress;info.ConnectionInfo.UserID = sa;foreach (CrystalDecisions.CrystalReports.Engine.Table table in doc.Database.Tables)table.ApplyLogOnInfo(info);这样水晶报表就能根据程序提供的信息自动登录,然后再自动获取数据了。实例下载:CrystalWebApp.rar

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号