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();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vwfkyy/archive/2009/10/27/4734688.aspx
FastReport studio 动态加载数据集 (zhuan)相关推荐
- Delphi FastReport动态加载图片
Delphi FastReport动态加载图片 2011-01-06 作者:李海彬 阅读:684 以前用FastReport制作报表,从来没有打印过图片,这段时间做了个打印个人简历的 ...
- Flex LineChart曲线——动态加载组件
最近在学习Flex 和Asp.net互操作,在网上查找了一些资料,综合后, 做出了这个动态加载组件的LineChart曲线.尚有不足之处请予以指正:谢谢. 下面是完整代码: 代码 1 <?xml ...
- Android动态加载进阶 代理Activity模式
基本信息 作者:kaedea 项目:android-dynamical-loading 技术背景 简单模式中,使用ClassLoader加载外部的Dex或Apk文件,可以加载一些本地APP不存在的类, ...
- Android动态加载技术
基本信息 Author:kaedea GitHub:android-dynamical-loading 我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装AP ...
- Android动态加载插件APK
问题起因 我曾经在开发Android Application的过程中遇到过那个有名的65k方法数的问题.如果你开发的应用程序变得非常庞大,你八成会遇到这个问题. 这个问题实际上体现为两个方面: 一.6 ...
- Android插件化开发之动态加载技术简单易懂的介绍方式
转载地方:https://segmentfault.com/a/1190000004062866 基本信息 Author:kaedea GitHub:android-dynamical-loading ...
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)0-------通过应用程序域AppDomain加载和卸载程序集...
本博客中以"C#.Net 如何动态加载与卸载程序集(.dll或者.exe)"开头的都是引用莫问奴归处 微软装配车的大门似乎只为货物装载敞开大门,却将卸载工人拒之门外.车门的钥匙只有 ...
- Android学习——Fragment动态加载
动态加载原理 利用FragmentManager来添加一套Fragment事务,最后通过commit提交该事务来执行对Fragment的相关操作. FragmentManager fragmentma ...
- H5仿抖音上下切换翻页动态加载效果
只有五个页面实现动态加载翻页效果,网上查到都是用Swiper 不停的插入元素,导致页面内容越来越多致卡顿.这里就只用五个页面来轮翻显示,实现无限加载的效果. <!DOCTYPE html> ...
最新文章
- 将文件名和文件修改时间批量输出至Excel中
- php类使用场景,php类与对象得使用场景
- [HNOI2013]切糕
- 如何跟项目经理和开发人员反馈安全测试报告的问题
- SQL Server中查询所有的表、视图、列和存储过程
- 主要垃圾回收器和垃圾回收算法
- gis计算各省河流长度_用河流和各方解释安全漏洞
- 去哪儿-22-async-components
- 低代码,是否能“取代”开发者?
- 稀疏贴图 SparseTexture
- ceentos5.5 配置samba服务用户组
- linux 清tcp缓存 命令_漫画 | 一台Linux服务器最多能支撑多少个TCP连接?
- 打印机用word打文档时在背面打印
- matlab箭头梯度方向场,局部路径规划算法——人工势场法
- 电子书格式转换 azw3 to epub (软件calibre的简单使用)
- 小图标下载、gif设计、图片压缩、代码优化
- 【转】地址线和数据线的计算
- Android蓝牙开发与串口蓝牙通讯
- openwrt编译教程(第一章)
- linux 查看java版本
热门文章
- DinnerNow中的Work Flow应用(下) --- 订单流程
- [转]博士的学习经验!读后,令人茅塞顿开的科研经典之作
- [小改进]给链接增加了描述属性
- 读书:鲁迅的《呐喊》和《彷徨》
- 数据安全治理面临哪些挑战
- 大数据分析的四大趋势有哪些
- 大数据给企业带来的好处有哪些
- 报错ValueError: check_hostname requires server_hostname
- 用Eclipse创建一个spring boot(创建,并配好controller)
- 静态文件之static+url控制系统(萌新笔记)