FastReport.Net
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 FastReport.Data;
using FastReport.Editor;
using FastReport.Design;
using FastReport.Data.ConnectionEditors;
using FastReport.Forms;
using FastReport.Utils;
using FastReport.Table;
using System.Data.SqlClient; namespace DataFromArray
{
/// <summary>
///
/// </summary>
public partial class Form1 : Form
{ private int[] FArray; TableObject Table1 = new TableObject();
Report report = new Report();
/// <summary>
///
/// </summary>
/// <returns></returns>
DataSet bindDB()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.TableName = "Db";
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("cnname", typeof(string));
dt.Columns.Add("bithdate", typeof(DateTime));
dt.Columns.Add("age", typeof(int)); dt.Rows.Add(1, "geovindu", "2001-12-03",12);
dt.Rows.Add(2, "sibodu", "2001-12-03",13);
dt.Rows.Add(3, "ginhongzhao", "2001-12-03",15);
ds.Tables.Add(dt);
return ds;
} /// <summary>
///
/// </summary>
public Form1()
{
InitializeComponent();
Table1.ManualBuild += new System.EventHandler(Table1_ManualBuild);
CreateArray();
}
/// <summary>
///
/// </summary>
private void CreateArray()
{
FArray = new int[10];
for (int i = 0; i < 10; i++)
{
FArray[i] = i + 1;
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnCreateNew_Click(object sender, EventArgs e)
{
// create report instance
Report report = new Report(); // register the array
report.RegisterData(FArray, "Array"); // design the report
report.Design(); // free resources used by report
report.Dispose();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnRunExisting_Click(object sender, EventArgs e)
{
// create report instance
Report report = new Report(); string fileurl = @"..\..\report.frx";
// load the existing report
report.Load(fileurl); // register the array
//report.RegisterData(FArray, "Array");
report.RegisterData(FArray, "Db"); // run the report
report.Show(); // free resources used by report
report.Dispose();
} private void Form1_Load(object sender, EventArgs e)
{ }
/// <summary>
///
/// 自定义
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
try
{ //DataTable dd = bindDB().Tables["Db"];
report.RegisterData(bindDB().Tables["Db"], "Db");
report.GetDataSource("Db").Enabled = true; ReportPage page1 = new ReportPage();
page1.Name = "page1";
report.Pages.Add(page1); page1.ReportTitle = new ReportTitleBand();
page1.ReportTitle.Name = "ReportTitle1";
page1.ReportTitle.Height = Units.Centimeters*1.5f; ReportPage page2 = new ReportPage();
page2.Name = "page2";
page2.ReportTitle = new ReportTitleBand();
page2.ReportTitle.Name = "ReportTitle2";
page2.ReportTitle.Height = Units.Centimeters * 1.5f;
report.Pages.Add(page2); GroupHeaderBand group1 = new GroupHeaderBand();
group1.Height = Units.Centimeters * 1;
group1.Name = "GroupHeader1";
group1.Condition = "[Db.cnname]"; //表.字段名
page1.Bands.Add(group1); group1.GroupFooter = new GroupFooterBand();
group1.GroupFooter.Name = "GroupFooter1";
group1.GroupFooter.Height = Units.Centimeters * 1; //create databand
DataBand data1 = new DataBand();
data1.Name = "Data1";
data1.Height = Units.Centimeters * 0.5f;
data1.DataSource = report.GetDataSource("Db");
group1.Data = data1; //
TextObject txt1 = new TextObject();
txt1.Name = "txt1";
txt1.Bounds = new RectangleF(0, 0, Units.Centimeters * 19, Units.Centimeters * 1);
txt1.HorzAlign = HorzAlign.Center;
txt1.Font = new Font("宋体", 14, FontStyle.Bold);
txt1.Text = "DB 数据";
page1.ReportTitle.Objects.Add(txt1); //group
TextObject txt2 = new TextObject();
txt2.Name = "txt2";
txt2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
txt2.HorzAlign = HorzAlign.Center;
txt2.Font = new Font("宋体", 8, FontStyle.Bold);//Tahoma
txt2.Text = "[Db.cnname]";
group1.Objects.Add(txt2); //data band
TextObject txt3 = new TextObject();
txt3.Name = "txt3";
txt3.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
txt3.HorzAlign = HorzAlign.Center;
txt3.Font = new Font("宋体", 8, FontStyle.Bold);
txt3.Text = "[Db.cnname]";
data1.Objects.Add(txt3);
TextObject txt4 = new TextObject();
txt4.Name = "txt4";
txt4.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
txt4.HorzAlign = HorzAlign.Center;
txt4.Font = new Font("宋体", 8, FontStyle.Bold);
txt4.Text = "[Db.age]";
group1.GroupFooter.Objects.Add(txt4); DataSourceBase masterData = report.GetDataSource("Db");
masterData.Init(); //TableColumn cm = new TableColumn();
//cm.Name = "";
//TableColumn column = new TableColumn();
//column.Name = "column";
//column.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
//column.Height = Units.Centimeters * 2.5f;
//Table1.Columns.Add(column); //TableColumn column2 = new TableColumn();
//column2.Name = "Cell2"; //column2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
//column2.Height = Units.Centimeters * 2.5f;
//Table1.Columns.Add(column2); //Table1.Border.RightLine = BorderLines.Right;
Table1.ColumnCount = 2;
Table1.Border.LeftLine.Color = Color.Black; Table1.Border.Lines = BorderLines.None;
Table1.Border.TopLine.Color = Color.Black;
Table1.Border.TopLine.Width = 1; Table1.Border.ShadowWidth = 4;
Table1.Border.RightLine.Style = FastReport.LineStyle.Solid;// TableCell cell = new TableCell();
cell.Name = "Cell1";
cell.Text = "Name";
cell.Font = new Font("宋体", 8, FontStyle.Bold);
cell.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
cell.Height = Units.Centimeters * 2.5f;
Table1.Columns.Add(cell); TableCell cell2 = new TableCell();
cell2.Name = "Cell2";
cell2.Text = "Id";
cell2.Font = new Font("宋体", 8, FontStyle.Bold);
cell2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
cell2.Height = Units.Centimeters * 2.5f;
Table1.Columns.Add(cell2); TableCell cell3 = new TableCell();
cell3.Name = "cell3";
cell3.Text = "[Db.cnname]";
cell3.Font = new Font("宋体", 8, FontStyle.Bold);
cell3.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
cell3.Height = Units.Centimeters * 2.5f;
Table1.Rows.Add(cell3); TableCell cell4 = new TableCell();
cell4.Name = "cell4";
cell4.Text = "[Db.id]";
cell4.Font = new Font("宋体", 8, FontStyle.Bold);
cell4.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
cell4.Height = Units.Centimeters * 2.5f;
Table1.Rows.Add(cell4); //TableRow rw = new TableRow(); //while (masterData.HasMoreRows)
//{
// TableCell cell = new TableCell();
// cell.Name = "Cell1";
// cell.Text = "[Db.cnname]";
// cell.Font = new Font("宋体", 8, FontStyle.Bold);
// cell.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
// cell.Height = Units.Centimeters * 2.5f;
// Table1.Rows.Add(cell); // masterData.Next();
//} //page2.Bands.Add(Table1);
page2.ChildObjects.Add(Table1); report.Show(); }
catch(Exception ex)
{
ex.Message.ToString();
} }
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Table1_ManualBuild(object sender, EventArgs e)
{ DataSourceBase data1 = report.GetDataSource("Db"); // 获取DataSet中表名为Table1的数据源
data1.Init(); // 初始化
Table1.PrintRow(0); // 控件Table1打印第0行
Table1.PrintColumns(); // 每打印一行,都要调用 PrintColumn或PrintColumns
while (data1.HasMoreRows) // 打印重复循环的行
{
Table1.PrintRow(1);
Table1.PrintColumns();
data1.Next(); // 读取下一行
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
Report report = new Report(); string sql = "select top 2 * from Employee";
DataTable dt = null; dt = DBHelper.GetTable(sql, CommandType.Text, null); string fileurl = @"..\..\report2.frx";
// load the existing report
report.Load(fileurl);
// report.Design();
report.RegisterData(dt, "Employee"); // run the report
report.Show(); // free resources used by report
//report.Dispose();
} }
}
FastReport.Net的更多相关文章
- 使用FastReport打印二维码
简单介绍一下该功能所在的项目背景:C#语言编写的WPF客户端应用程序,在“结账”模块中,打印出的收款小票上需要显示一个二维码,服务生拿着小票去找顾客,顾客可以选择现金.银行卡等普通支付方式,也可以直接 ...
- FastReport.Net 常用功能总汇
一.常用控件 文本框:输入文字或表达式 表格:设置表格的行列数,输入数字或表达式 子报表:放置子报表后,系统会自动增加一个页面,你可以在此页面上设计需要的报表.系统在打印处理时,先按主报表打印,当碰到 ...
- FastReport自定义数据源及ListView控件的使用
##1.想批量生成一堆物资信息卡,效果如下图所示,fastreport可以一下全部生成,并且发现不用单独写东西, ##2.发现FastReport官方给出的Demo.exe很友好,基本可以满足要求,想 ...
- 使用功能强大的插件FastReport.Net打印报表实例
我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向.竖向合并单元格. 我不是直接连接数据库,而是使用Regis ...
- FastReport使用DataSet作数据源
1.打开FastReport的设计器, 2.选择[File]->[New] 新建FastReport模板. 3.选择[View]->[Data],显示如下,导出Dictionary,保存. ...
- MVC架构 使用FastReport
1.Web.config文件 添加配置 <httpHandlers> <add path="FastReport.Export.axd" verb="* ...
- FastReport 中添加二维码功能.(Delphi)
http://www.cnblogs.com/fancycloud/archive/2011/07/24/2115240.html FastReport 中添加二维码功能.(Delphi) 在实际 ...
- 配置FastReport,FastReport报表加载不出来
插件链接: Demo地址:http://pan.baidu.com/s/1dEXUvsP FastReport.Net软件地址:https://pan.baidu.com/s/1c2kNBVi ...
- web应用程序传递连接字符串给FastReport数据源
public static FastReport.Report fr = new FastReport.Report(); public static FastReport.EnvironmentSe ...
- Web调用FastReport的配置问题
1.修改配置webconfig文件 IIS6: <system.web> <httpHandlers> <add path="FastReport.Export ...
随机推荐
- JS求数组差集的几种方法
第一种:如果不考虑IE8的兼容性完全可以使用Foreach ,此方法求出arr1 减去 arr2的差集, arr1 = [1,2,3,4];arr2 = [1,2,3]; var subSet = f ...
- 6 week work 2
CSS颜色表示法和颜色表(调色板) 1.用颜色名表示 如:white.red.greenyellow.gold等. 2.用十六进制的颜色值表示(红.绿.蓝) #FF0000或者#F00 3.用rgb( ...
- 解析Java分布式系统中的缓存架构(上)
作者 陈彩华 文章转载交流请联系 caison@aliyun.com 本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景. 1 缓存概述 2 缓存的分类 缓存主要分为以下四类 2. ...
- JMagic 操作 ImageMagick 处理图片
项目描述 imagemagick是功能强大的图片处理库,以稳定及高效率著称,众多语言对该库进行封装处理.比如php.java.由于我们是java项目,直接使用java通过JNI技术调用ImageMag ...
- 第二节:Web前端-ASP.NET之C#基础
第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...
- 第79节:Java中一些要点
第79节:Java中一些要点 前言 一些知识点忘了没,可以通过一个点引出什么内容呢?做出自己的思维导图,看看自己到了哪一步了呢 内容 如果有人问jre,jdk,jvm是什么,你怎么回答呢? jre的英 ...
- Python学习笔记【第七篇】:文件及文件夹操作
介绍 我们用pytthon.C#.Java等这些编程语言,想要把文件(文字.视频....)永久保存下来就必须将文件写入到硬盘中,这就需要我们应用程序去操作硬件,我们这些编程语言是无法直接操作硬件的. ...
- 初识vw和vh
最近在项目里突然看到了一行css代码,height:100vh; 一时间有点蒙蔽 因为之前有听过这个css3新增单位,但没有去了解过. 那这个单位又跟px,rem,em,%有什么不同呢? 简述: ...
- 四、activiti工作流-第一个HelloWorld
上一节已经把流程图画好,并且数据库也已经创建好了25张表,这节讲如何启动一个流程 先新建一个包,并新建一个类. /**然后定义一个成员属性,主要是因为每个方法都要用到这个引擎 * 获取默认流程引擎实例 ...
- Liunx服务管理(Centos)
RPM包安装的服务其安装文件是遵循系统默认安装位置,所以可以通过命令快速启动,但源码包的安装是统一放在一个自定义文件夹下,所有其服务要使用绝对路径,但也可以通过软连接方式,让其支持RPM包相同管理方式 ...