`
kennyluo
  • 浏览: 81432 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

FastReport studio 动态加载数据集 (zhuan)

 
阅读更多

 

测试使用的FastReport Studio 版本为4.6.80

先引用FastReport.dll

然后把C:/Program Files/FastReports/FastReport Studio Trial/Examples/VisualC#.NET/DataSetDemo目录下的

FrxDataSet.cs

FrxDataTable.cs

FrxDataTable.resx

复制到解决方案中(切记要将这三个文件代码中的命名空间更改为自己程序的命名)

SQLServer数据库,表名demo_test  有三个字段 id(int),name(char),onemorename(char)

FastReport报表demo_test.fr3中有三个memo

[demo_test."id"]        DataField属性 id

[demo_test."name"]        DataField属性 name

[demo_test."onemorename"]        DataField 属性 onemorename

以下是我根据DataSetDemo写的代码,在VS2005中测试通过

 view plaincopy to clipboardprint?
using System;   
using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Text;   
using System.Windows.Forms;   
using FastReport;   
using System.Data.SqlClient;   
  
namespace FRDemoTest   
{   
    public partial class Form1 : Form   
    {   
        TfrxReportClass report;   
        FrxDataTable datatable;   
        FrxDataSet dataset;   
  
        public Form1()   
        {   
            InitializeComponent();   
        }   
    //为FrxDataTable加载数据   
        private void FillTableWithSampleData(FrxDataTable datatable)   
        {   
            SqlConnection conn = new SqlConnection("server=.;database=DEMO;UID=sa;PWD=");   
            SqlDataAdapter da = new SqlDataAdapter("select * from demo_test", conn);   
            da.Fill(datatable);   
        }   
    //为FrxDataSet加载数据   
        private void FillDataSetWithSampleData(FrxDataSet dataset)   
        {   
            SqlConnection conn = new SqlConnection("server=.;database=DEMO;UID=sa;PWD=");   
            SqlDataAdapter da = new SqlDataAdapter("select top 2 * from demo_test", conn);   
            da.Fill(dataset,"demo_test");//demo_test为表名,对应FastReport模板中Memo的名字[demo_test."id"]   
        }   
    //加载FrxDataTable   
        private void button1_Click(object sender, EventArgs e)   
        {   
            report = new TfrxReportClass();   
            report.ClearDatasets();//加这句可以避免重复打开报表提示错误   
            datatable = new FrxDataTable("demo_test");//demo_test为表名,对应FastReport模板中Memo的名字[demo_test."id"]   
            FillTableWithSampleData(datatable);   
            //report.MainWindowHandle = (int)this.Handle;   
            report.LoadReportFromFile("demo_test.fr3");   
            //report.ClearDatasets();   
            datatable.AssignToReport(true, report);   
            datatable.AssignToDataBand("MasterData1", report);   
            report.ShowReport();   
        }   
    //加载FrxDataSet   
        private void button2_Click(object sender, EventArgs e)   
        {   
            report = new TfrxReportClass();   
            report.ClearDatasets(); //加这句可以避免重复打开报表提示错误   
            dataset = new FrxDataSet();   
            FillDataSetWithSampleData(dataset);   
            report.LoadReportFromFile("demo_test.fr3");   
            dataset.BindToReport(report);   
            dataset.BindTableToBand("demo_test", report, "MasterData1");   
            report.ShowReport();   
        }   
    //加载Dedigner   
        private void button3_Click(object sender, EventArgs e)   
        {   
            report = new TfrxReportClass();   
            report.LoadReportFromFile("demo_test.fr3");   
            report.DesignReport();   
        }   
    }   
}  
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using FastReport;
using System.Data.SqlClient;

namespace FRDemoTest
{
    public partial class Form1 : Form
    {
        TfrxReportClass report;
        FrxDataTable datatable;
        FrxDataSet dataset;

        public Form1()
        {
            InitializeComponent();
        }
 //为FrxDataTable加载数据
        private void FillTableWithSampleData(FrxDataTable datatable)
        {
            SqlConnection conn = new SqlConnection("server=.;database=DEMO;UID=sa;PWD=");
            SqlDataAdapter da = new SqlDataAdapter("select * from demo_test", conn);
            da.Fill(datatable);
        }
 //为FrxDataSet加载数据
        private void FillDataSetWithSampleData(FrxDataSet dataset)
        {
            SqlConnection conn = new SqlConnection("server=.;database=DEMO;UID=sa;PWD=");
            SqlDataAdapter da = new SqlDataAdapter("select top 2 * from demo_test", conn);
            da.Fill(dataset,"demo_test");//demo_test为表名,对应FastReport模板中Memo的名字[demo_test."id"]
        }
 //加载FrxDataTable
        private void button1_Click(object sender, EventArgs e)
        {
            report = new TfrxReportClass();
            report.ClearDatasets();//加这句可以避免重复打开报表提示错误
            datatable = new FrxDataTable("demo_test");//demo_test为表名,对应FastReport模板中Memo的名字[demo_test."id"]
            FillTableWithSampleData(datatable);
            //report.MainWindowHandle = (int)this.Handle;
            report.LoadReportFromFile("demo_test.fr3");
            //report.ClearDatasets();
            datatable.AssignToReport(true, report);
            datatable.AssignToDataBand("MasterData1", report);
            report.ShowReport();
        }
 //加载FrxDataSet
        private void button2_Click(object sender, EventArgs e)
        {
            report = new TfrxReportClass();
            report.ClearDatasets(); //加这句可以避免重复打开报表提示错误
            dataset = new FrxDataSet();
            FillDataSetWithSampleData(dataset);
            report.LoadReportFromFile("demo_test.fr3");
            dataset.BindToReport(report);
            dataset.BindTableToBand("demo_test", report, "MasterData1");
            report.ShowReport();
        }
 //加载Dedigner
        private void button3_Click(object sender, EventArgs e)
        {
            report = new TfrxReportClass();
            report.LoadReportFromFile("demo_test.fr3");
            report.DesignReport();
        }
    }
}

分享到:
评论

相关推荐

    fastreport web 动态传入数据

    在Web环境中,FastReport的动态数据功能可以配合ASP.NET MVC、ASP.NET Core等框架使用。用户可以在服务器端处理数据并填充报表,然后将预览结果发送回客户端展示。同时,FastReport还支持导出报表到多种格式,如PDF...

    fastreport studio suite 3.2 破解版+带中文开发指南

    FastReport studio suite 3.2破解版 带开发指南的哦。朋友们试试,好东西大家要共享么。

    FastReport 4.15 DXE6 及 FastReport Studio 4.9 保存中文乱码和退出bug修复版

    在FastReport Studio 4.9中,开发者针对这个问题进行了深入调试和优化,使得用户在设计和预览报表时,程序的稳定性显著提升,降低了意外退出带来的数据丢失风险。 FastReport Studio是FastReport的图形化界面,它...

    FastReport Studio 4.4破解文件

    FastReport Studio 4.4破解文件

    FastReport studio 4.61 DLL

    在功能方面,FastReport Studio 4.61支持嵌套报表和子报表,允许在主报表中包含其他报表,以实现复杂的数据层次展示。同时,它还支持条件格式化,可以根据数据值自动改变单元格的样式。此外,报表参数的设置让用户...

    FastReport Studio

    FastReport Studio 放在这里参考。

    fastreport.studio3.24 含SN

    《FastReport Studio 3.24:全面解析与应用指南》 FastReport Studio 3.24是一款功能强大的报表设计工具,专为开发者提供高效、便捷的报表开发环境。其核心在于快速、灵活地创建各类报表,无论是简单的表格还是复杂...

    fastreport.studio.4.6.98.0

    它支持多种数据源,包括数据库、XML、JSON等,允许用户根据需要动态填充报表数据。此外,FastReport还支持创建丰富的报表元素,如图表、图像、表格和各种自定义控件,满足复杂的数据展示需求。 对于.NET 1.1框架的...

    动态改变FastReport内的Memo内容

    在IT行业中,报表工具是数据分析和展示的重要组成部分。FastReport是一款功能强大的报表设计和生成工具,广泛应用...无论是简单的文本替换,还是复杂的动态数据绑定,FastReport都能轻松应对,使得报告更加生动和实用。

    FastReport Studio v4.6.98.0

    FastReport Studio - report generator for developers。FastReport Studio can be used in the following developers’ environments:Microsoft Visual C++ 6;Microsoft Visual Basic 6;Microsoft Visual C++ .NET;...

    fastreport studio4.6

    fastreport studi 4.6 +破解

    fastreport studio 4.8

    FastReport Studio是一款功能强大的报表设计以及包含众多报表事例的控件。它包括多个强大而彼此独立的功能:报表设计、日程安排编辑、保存和发布。同时它还提供了大量的报表操作演示,以及提供如何与MS Access 和MS ...

    fastreport.studio.4.6.8

    FastReport Studio 的强大之处还在于其数据源连接能力。它能够连接多种数据库,包括SQL Server、Oracle、MySQL等,甚至可以处理XML和CSV等文件数据,使得数据的导入和导出变得简单。同时,预览和打印功能也十分出色...

    FastReport Studio Site v3.20

    version 3.20-------------+ added interface IfrxFont.+ added IfrxFrame interface+ added IfrxDisplayFormat interface+ added method ResetDataSet into IfrxDataBand interface+ added support of ...

    FastReport 使用说明_动态传参总结(C#版)

    动态传参是FastReport的一项重要功能,使得报告能够根据用户输入或程序逻辑灵活地调整参数,从而实现个性化打印和数据分析。 首先,我们来看动态传参的基础概念。在FastReport中,参数通常用于存储外部数据,这些...

    FastReport Studio Site v3.20中文资源-第三连接

    【FastReport Studio Site v3.20中文资源-第三连接】是针对FastReport Studio的一款重要的中文语言包,旨在为用户提供更准确、地道的中文界面和文档。FastReport是一款流行的报表设计工具,它允许开发者创建复杂的...

    动态给fastreport报表中的变量赋值

    在这个特定的问题中,我们要探讨的是如何在FastReport报表中动态地为变量赋值,这是一个常见的需求,尤其是在处理动态数据或者需要根据用户输入调整报告内容时。 首先,让我们理解FastReport的工作原理。FastReport...

    FastReport打印动态条形码

    在这个特定的场景中,我们要探讨的是如何利用FastReport来动态地生成和打印条形码。 首先,让我们了解条形码的基本概念。条形码是一种光学可读的标识,它由一系列宽度不等的黑白条纹组成,用于快速扫描和识别商品、...

    FastReport动态列

    1. **清空FastReport并加载数据集** ```pascal frReport.Clear; frReport.DataSets.Add(frxDBDataset1); DataHeight := 28; DataWidth := 80; FirstTop := 50; FirstLeft := 15; ``` 这里我们先清空报表,...

Global site tag (gtag.js) - Google Analytics