返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中把FastReport.Net报表控件的数据保存到数据库
  • 368
分享到

C#中把FastReport.Net报表控件的数据保存到数据库

2024-04-02 19:04:59 368人浏览 独家记忆
摘要

通常报表都存储在一个地方,但是在单独的文件中。随着文件数量的增加在结构和搜索上也困难多多,针对这个问题,我遇到了一个非常有趣的报表对象属性——ReportSo

通常报表都存储在一个地方,但是在单独的文件中。随着文件数量的增加在结构和搜索上也困难多多,针对这个问题,我遇到了一个非常有趣的报表对象属性——ReportSourceString,此属性以字符串形式保存整个报表模板。
这意味着它可以在任何数据库中存储报表模板,并把所有的报表都存储在一个地方。为了将报表保存到数据库中,我们需要编写自己的方法来保存和加载报表。下面就开始吧!
首先,让我们创建一个数据库来存储报表。我已经使用了微软的访问。该表的结构如下:

创建窗体应用程序。添加连接到数据库。放置按钮组件到表单:数据集,BindingSource和报表。

我们需要一个对话框,在保存/加载时会要求报表的名称:

按钮必须根据名称来设置DialogResult属性。
开始设计,我们使用下面的fastreports库:

using FastReport;
using FastReport.Utils;
using FastReport.Design;

创建实例对话框:

public SaveLoadFORM form2 = new SaveLoadForm();

创建事件处理程序来保存报表:

void cmdSave_CustoMaction(object sender, EventArgs e)
{
    ReportsDataSet.ReportsRow row;
    row = reportsDataSet1.Reports.NewReportsRow();
    if (form2.ShowDialog() == DialogResult.OK)
    {
        row.Name = form2.ReportName;
        row.Template = report1.ReportResourceString;
        this.reportsDataSet1.Reports.Rows.Add(row);
        ReportsDataSetTableAdapters.ReportsTableAdapter adapter = new ReportsDataSetTableAdapters.ReportsTableAdapter();
        adapter.Update(reportsDataSet1.Reports);
    }
}

这里,我们在报表表单中创建一个新的行,紧接着开始对话框。将报表名称输入表单,分配对话框的文本字段值到名称字段,在模板字段中将报表模板写入文本。此后,通过适配器将更改的内容保存到表中。
现在创建一个报表下载的事件处理程序:

void cmdOpen_CustomAction(object sender, EventArgs e)
{
    if (form2.ShowDialog() == DialogResult.OK)
    {
        for (int i = 1; i < reportsDataSet1.Reports.Rows.Count; i++)
        if (reportsDataSet1.Reports[i].Name == form2.ReportName)
        {
            report1.ReportResourceString = reportsDataSet1.Reports[i].Template.ToString();
        }
        Designer designer = sender as Designer;
        designer.SetModified(this, "EditData");
    }
}

调用对话框,在循环中查找与在文本字段中输入的名称相对应的报表,从模板字段中加载报表到ReportResourceString属性。然后,设计师根据改变做出更新。
所以,我们写了2个处理程序。它是必要的,以拦截标准的事件处理程序并用我们的处理程序替代。

private void DesignerSettings_DesignerLoaded(object sender, EventArgs e)
{
    (sender as Designer).cmdSaveAs.CustomAction += new EventHandler(cmdSave_CustomAction);
    (sender as Designer).cmdOpen.CustomAction += new EventHandler(cmdOpen_CustomAction);
}

正如你所看到那样,我们通过自定义处理程序拦截事件来保存和加载一个报表。
在主表单中按钮OnClick事件中添加以下代码:

private void DesignBtn_Click(object sender, EventArgs e)
{
    Config.DesignerSettings.DesignerLoaded += DesignerSettings_DesignerLoaded;
    report1.Design();
}

重写处理程序加载报表设计器。
这样,我们就已经创建了一个应用程序,允许您在MS访问数据库中保存和加载报表。您可以通过ReportSourceString报表属性在自己希望的数据库中组织报表的存储。

到此这篇关于在数据库中保存FastReport.net报表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#中把FastReport.Net报表控件的数据保存到数据库

本文链接: https://lsjlt.com/news/150802.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中把FastReport.Net报表控件的数据保存到数据库
    通常报表都存储在一个地方,但是在单独的文件中。随着文件数量的增加在结构和搜索上也困难多多,针对这个问题,我遇到了一个非常有趣的报表对象属性——ReportSo...
    99+
    2024-04-02
  • C#中如何把FastReport.Net报表控件的数据保存到数据库
    这篇“C#中如何把FastReport.Net报表控件的数据保存到数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中...
    99+
    2023-07-02
  • item 数据model保存到数据库中
    1.如何将item 数据model保存到数据库中首先在本地创建好MySQL数据库,再数据库中创建好数据表# 创建数据库create database item_database;set global validate_password_le...
    99+
    2023-06-02
  • Android保存数据到系统数据库中:Settings.System
    有时候我们一些设置属性要保存到本地,防止软件卸载后配置属性消失。 比如我今天就有个修改手机蓝牙名称显示的功能,但是只需要修改一次,并且进行标记,...
    99+
    2022-06-06
    数据 系统 system 数据库 Android
  • java保存json类型数据到mysql数据库,mysql保存json类型数据
    1.首先在对应表添加一个json类型字段 2.在java对应的实体类添加对应的字段,重点是加上(typeHandler = JacksonTypeHandler.class)这个注解 不然的话保存...
    99+
    2023-09-04
    java mysql 数据库
  • python怎么爬取数据保存到数据库
    要将爬取的数据保存到数据库,可以使用Python的数据库模块(如SQLite、MySQL、MongoDB等)将数据插入到数据库中。以...
    99+
    2023-09-08
    python 数据库
  • Android怎么把正确的把数据插入到数据库中
    这篇文章主要讲解了“Android怎么把正确的把数据插入到数据库中”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么把正确的把数据插入到数据库...
    99+
    2024-04-02
  • C#将DataGridView中的数据保存到CSV和Excel中
    一、保存到CSV public static bool dataGridViewToCSV(DataGridView dataGridView) { ...
    99+
    2024-04-02
  • Python爬虫如何获取数据并保存到数据库中
    本篇内容主要讲解“Python爬虫如何获取数据并保存到数据库中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫如何获取数据并保存到数据库中”吧!1.简介介绍-网络爬虫(又称为网页蜘...
    99+
    2023-07-02
  • 如何把数据保存为VB.NET TXT文件
    这篇文章主要为大家展示了“如何把数据保存为VB.NET TXT文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何把数据保存为VB.NET TXT文件”这篇文章吧。VB.NET TXT文件代码...
    99+
    2023-06-17
  • c#怎么把图片存入数据库
    在 c# 中将图片存储到数据库 为了将图片存储到数据库中,C# 提供了以下步骤: 1. 准备数据库 创建一个表来存储图片数据,例如: CREATE TABLE Images ( I...
    99+
    2024-05-14
    c#
  • 如何正确的把数据插入到数据库中
    这篇文章给大家介绍如何正确的把数据插入到数据库中,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。把数据放入数据库通过把ContentValues对象传入instert()方法把数据插入数...
    99+
    2024-04-02
  • PHP实现将Word文件保存到SQLServer数据库
    算起来,折腾了整整一天,就是完成将上传的Word文件保存到MS SQL Server 2014数据库中。 第一次使用PHP来开发一个小程序,压力也挺大,主要是用户觉得我很快就能完成,...
    99+
    2024-04-02
  • 怎么保存mysql数据库文件
    为保存 mysql 数据库文件,有两种方法:使用 mysqldump 工具从命令行导出 sql 文件。通过 phpmyadmin 界面选择“导出”并选择“自定义”方法导出 sql 文件。...
    99+
    2024-08-05
    mysql phpmyadmin
  • Java怎么实现把数据存储到文件中
    在Java中,可以使用FileOutputStream和BufferedWriter类将数据存储到文件中。以下是一个简单的示例代码:...
    99+
    2024-04-09
    java
  • 将爬取的数据保存到mysql中
    为了把数据保存到mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1、pip install pymysql(根据版本来装) 2、创建数据       打开终端 键入mysql -u root -p  回车输入密码     ...
    99+
    2023-01-30
    数据 将爬取 mysql
  • C#怎么将DataGridView中的数据保存到CSV和Excel中
    这篇文章主要介绍“C#怎么将DataGridView中的数据保存到CSV和Excel中”,在日常操作中,相信很多人在C#怎么将DataGridView中的数据保存到CSV和Excel中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-30
  • 阿里云数据库保存到本地文件夹里
    这篇文章将介绍如何将阿里云数据库中的数据保存到本地文件夹,以便进行后续的处理和分析。 阿里云数据库是阿里云提供的一种云数据库服务,它可以提供高可用性、高扩展性和高性能的数据存储服务。如果我们需要将阿里云数据库中的数据保存到本地文件夹,可以采...
    99+
    2023-11-15
    阿里 文件夹里 数据库
  • EXCEL表数据导入到ORACLE数据库中
    将EXCEL表导入ORACLE数据库中一、建立表1.建立表2.查询表select * from yy;二、导入程序在excel中找到需要导入的数据2.将excel中的...
    99+
    2024-04-02
  • C++中如何将数据保存为CSV文件
    目录C++将数据保存为CSV文件如何存储CSV文件C++将数据保存为CSV文件 因为最近涉及到保存模型推理结果的输出文件,所以学一学如何将数据保存为CSV文件,比如保存检测框box的...
    99+
    2022-11-16
    C++ CSV文件 数据保存为CSV文件 C++ 数据保存
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作