利用数据集在水晶报表中显示图像的 .NET 程序教程

这是一个C# .NET Windows程序示例,展示了如何创建数据集,将图像添加到数据集中,并在运行时将数据集传递到Crystal Report的子报表。程序涉及创建数据集、设计报表、在子报表中显示图像,以及如何在Crystal Report Viewer中展示报表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

描述
文件列表
步骤
Form1.cs
VB.NET 版


描述

该 C# .NET Windows 程序演示了如何创建数据集,并将图像添加到数据集,以及在运行时将数据集传递到子报表。


文件列表

- bin/Debug/Canada.jpg
- bin/Debug/Germany.jpg
- bin/Debug/Japan.jpg
- bin/Debug/USA.jpg
- App.ico
- AssemblyInfo.cs
- CrystalReport1.cs
- CrystalReport1.rpt
- DynamicImage.csproj
- DynamicImage.csproj.user
- DynamicImage.sln
- Form1.cs
- Form1.resx
- Readme.txt
- Steps.txt


步骤

* 开始一个新项目/创建数据集及其模式

- 新建项目
- 转到 Form1.cs 后置的代码
- Imports System.Data/System.IO
- 创建函数 "CreateData",以创建数据集:

    DataSet CreateData()
    {
        DataSet data = new DataSet();
        data.Tables.Add("Images");
        data.Tables[0].Columns.Add("Country", System.Type.GetType("System.String"));
        data.Tables[0].Columns.Add("img", System.Type.GetType("System.Byte[]"));
        data.WriteXmlSchema(Directory.GetCurrentDirectory() + "//DynamicImage.xsd");
    }

- 创建函数 "CreateReport",以调用 CreateData 创建数据集模式:

    void CreateReport()
    {
        CreateData();
    }

- 在构造函数中调用 CreateReport

    public Form1()
    {
        //
        // Required for Windows Form Designer support
        //
        InitializeComponent();

        //
        // TODO: Add any constructor code after InitializeComponent call
        //
        CreateReport();
    }

- 构造并执行程序/将在 Bin/Debug 文件夹中创建 DynamicImage.xsd。


* 设计报表

- 项目->添加新项
- 选择 Crystal Report,并单击“打开”
- 选择“作为空白报表”,并单击“确定”
- 右击任意空白处,选择“数据库->添加/删除数据库”
- 展开 ODBC (RDO),选择 Xtreme Sample Database,并单击“完成”。
- 展开表,双击 Customer
- 单击“确定”
- 将 Customer Name 和 Last Year's Sales 拖放到详细资料
- 右击任意空白处,插入->子报表
- 将子报表放置在 Last Year's Sales 旁边
- 选择“创建子报表”,并将子报表命名为 "Flags",单击“报表专家”
- 扩展“更多数据源”,选择 ADO.NET (XML)
- 找到 DynamicImage.xsd,并单击“完成”
- 双击 Images
- 单击“下一步”,双击 img,单击“完成”
- 单击“链接”选项卡
- 双击 Country,并单击“确定”
- 调整子报表的大小
- 在子报表上双击,以打开子报表
- 删除报表页眉 b 和报表页脚 b
- 右击 -> 关闭子报表


* 回到代码,并编写 Crystal 代码

- 将 CrystalReportViewer 控件拖放到窗体 Form1
- 选择 CrystalReportViewer1,F4(属性)
- 改变 Dock 属性,填充
- 查看代码
- 注释掉 WriteXmlSchema(因为只在设计报表时需要数据集模式文件)
- 在 CreateData 函数中组装数据集,并将其返回

    void AddImageRow(DataTable tbl, string name, string filename)
    {
        FileStream fs = new FileStream(filename, FileMode.Open);
        BinaryReader br = new BinaryReader(fs);
        DataRow row;
        row = tbl.NewRow();
&

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值