(已测试)在本地处理模式下将数据库数据源与 ReportViewer Web 服务器控件一起使用...

本演练演示如何为 Microsoft Visual Studio 2008 ASP.NET 网站创建报表,以及如何向网页中添加 ReportViewer 控件,以便用户可以查看该报表。

若要使用本演练,您必须有权访问 AdventureWorks 示例数据库。 有关更多信息,请参见演练:安装 AdventureWorks 数据库

您还必须对运行 Microsoft Internet Information Services (IIS) 5.0 版或更高版本的服务器具有访问权限,并具有创建 ASP.NET 网页的权限。

通过在计算机上执行下列步骤,可以使用 Visual Studio 2008 模板创建包含 ReportViewer 控件的 ASP.NET 网页,并将该控件配置为能用于查看所创建的报表。对于本示例,在 Microsoft Visual Basic 中创建应用程序。

  1. “文件”菜单中,指向“新建”,选择“网站”

  2. 在“新建网站”对话框中,选择“ASP.NET 网站”

  3. “语言”列表中,选择 Visual Basic,再单击“确定”

  4. “位置”框中,选择“HTTP”(如果尚未选择),然后单击“浏览”定位至新文件夹。

  5. “选择位置”对话框中,单击“本地 IIS”,然后定位至网站的根目录。

  6. 单击“创建新 Web 应用程序”按钮以创建一个新文件夹,然后键入名称。 按 Enter。

  7. 单击“打开”

  8. 单击“确定”

    随即将打开该网站项目,并显示“Default.aspx”网页。

  9. 在解决方案资源管理器中,检查是否已突出显示“Default.aspx”

  10. “查看”菜单上,选择“设计器”

    现在您就可以修改网站的默认页。

  1. “网站”菜单上选择“添加新项”

  2. “添加新项”对话框中,单击“数据集”。 单击“添加”。 在系统提示是否要将该项添加到“App_Code”文件夹中时,请单击“是”。 这会向项目中添加一个新的 XSD 文件“DataSet1.xsd”,同时打开数据集设计器,并调用“TableAdapter 配置向导”

  3. “选择您的数据连接”页上,如果 AdventureWorks 是使用 SQLExpress 安装的,则可能会显示可供选择的现有数据连接“sqlexpress.AdventureWorks.dbo”,这时请跳到步骤 6。否则,请单击“新建连接”

  4. “数据源”对话框中,选择“Microsoft SQL Server (Sql 客户端)”

  5. “服务器名称”对话框中,输入 AdventureWorks 示例数据库所在的服务器的名称。 例如,SQL Server Express 的默认实例名称为“(local)\sqlexpress”。 输入服务器名称后,请从数据库下拉列表中选择“AdventureWorks”,然后单击“确定”

  6. 单击“下一步”

  7. “将连接字符串保存到应用程序配置文件中”页上,为连接字符串键入名称或接受默认的“AdventureWorksConnectionString”。单击“下一步”

  8. “选择命令类型”页上,选择“使用 SQL 语句”。 确认未选择其他单选按钮。

  9. “输入 SQL 语句”页上,输入以下 Transact-SQL 查询以从 AdventureWorks 数据库中检索数据,然后单击“完成”。 您也可以单击“查询生成器”按钮,然后使用“查询生成器”创建查询,并使用“执行查询”按钮对其进行检查。

    SELECT d.Name as Dept, s.Name as Shift, e.EmployeeID as EmployeeID
        FROM (HumanResources.Department d
        INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
        INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID

    如果查询未返回所需的数据,则说明您可能正在使用 AdventureWorks 的早期版本。 有关安装 AdventureWorks 的 SQL Server 2005 版本的更多信息,请参见演练:安装 AdventureWorks 数据库

  10. “选择要生成的方法”页上,接受默认值“填充 DataTable”“方法名称”“Fill”)和“返回 DataTable”“方法名称”“GetData”)。 单击“下一步”

  11. “向导结果”页上,单击“完成”

    现在已完成将 ADO.NET DataTable 配置为报表的数据源。

  12. 在 Visual Studio 的“数据集设计器”页上,应看到添加的 DataTable(默认名称为 DataTable1),其中列出了从查询定义得到的列。 您可以从“数据”菜单中选择“预览数据”,然后单击“预览”按钮来检查查询结果。

  1. “网站”菜单上,选择“添加新项”

  2. “添加新项”对话框中,选择“报表”模板,输入报表文件的名称,再单击“添加”。 这将创建报表定义文件(默认为“Report.rdlc”),启动报表设计器,并显示“网站数据源”窗格。

  3. 打开“工具箱”。 单击工具箱,然后单击报表设计图面。

  4. 在文本框中输入报表标题:“每个部门每次换班的雇员数”。接着根据需要展开文本框。

  5. “工具箱”中将“矩阵”报表项拖动到文本框下的报表上。 虚线白色背景是您的报表页。 若要调整矩阵在页面上的位置,请单击左角以将其选中,然后根据需要通过拖动或箭头键移动项目。

  6. “网站数据源”窗口中,展开“DataTable1”节点,直至看到查询所得到的列。 将“Dept”拖动到矩阵第一列第二行的“行”文本框上。

  7. “Shift”拖动到矩阵第二列第一行的“列”文本框上。 让该文本框处于选中状态,然后在“属性”窗口中将“TextAlign”属性设置为“右”。 在文本框内单击,以激活“报表格式”工具栏,然后单击“加粗”按钮。

  8. 单击矩阵中的任意位置,以选择矩阵。 单击右键,然后按名称选择矩阵(默认值为 matrix1)。 矩阵报表项周围将显示一个轮廓。 右击该轮廓,然后选择“属性”。 检查所打开的对话框的标题是否为“矩阵属性”

  9. 单击“组”选项卡。 在“列”部分中,单击“编辑”

  10. “排序与分组”对话框中,单击“排序”选项卡。

  11. 在“表达式”下的第一个框内单击,以激活文本框。 从下拉列表中选择“=Fields!Dept.Value”。 这样可以确保按照部门名称对报表数据进行排序。 单击“确定”

  12. 单击“确定”关闭“矩阵属性”对话框。

  13. “网站数据源”窗口中,将“EmployeeID”字段拖动到矩阵第二列第二行的“数据”文本框上。 右击此文本框,然后选择“表达式”

  14. 编辑默认的“Sum”聚合函数并将它更改为“Count”。 单击“确定”

  15. 单击“确定”关闭“文本框属性”对话框。

  16. “文件”菜单上,选择“全部保存”

  1. “解决方案资源管理器”中,右击“Default.aspx”,然后选择“视图设计器”

  2. 打开“工具箱”窗口。 在“数据”组中将“ReportViewer”控件拖动到页面上。

  3. 如果尚未打开“ReportViewer 任务”智能标记面板,请将其打开,方法是在网页上单击 ReportViewer 控件右上角的三角形。在“选择报表”框中,选择 Report.rdlc 的完全限定文件名。

    选择报表后,将自动创建报表中使用的数据源的实例。 并生成代码以实例化每个 DataTable(及其 DataSet 容器)以及与报表中使用的每个数据源相对应的 ObjectDataSource 控件。 此数据源控件自动进行配置。

Note注意

若要了解为什么 ASP.NET 使用 ObjectDataSource 控件而不使用 SqlDataSource 控件(即使基础数据源可能是数据库或某些其他强类型化的数据存储),请参见为报表创建数据源

  1. “Ctrl+F5”可在不调试的情况下运行页面,按“F5”则会在运行页面时进行调试。

    在生成过程中,会编译报表并将发现的所有错误(例如报表中所用的表达式中的语法错误)都添加到“任务列表”中。

    网页显示在浏览器中。 ReportViewer 控件显示报表。 可以使用工具栏浏览报表、缩放及导出到 Excel。

  2. 关闭浏览器。

转载于:https://www.cnblogs.com/hekeboy/archive/2008/07/23/1249982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值