C#具体的使用fastreport的过程(我的实验全过程)
只引用FastReport.DLL即可:
代码中引用 命名空间
完整的实验代码 用不到数据库 如果用到数据库 读取库 再读取表 再生成 datatable 再添加到dataset中就OK啦
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FastReport;
namespace _03再搞fastreport数据源手写datatable
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataSet ds = new DataSet();
DataTable dt = null;
private void btnGenDT_Click(object sender, EventArgs e)
{
//DataTable dt = new DataTable();
dt = new DataTable();
dt.Columns.Add("姓名");
dt.Columns.Add("性别");
DataRow dr1 = dt.NewRow();
dr1["姓名"] = "1";
dr1["性别"] = "2";
dt.Rows.Add(dr1);
for (int i = 0; i < 5; i++)
{
DataRow dr = dt.NewRow();
dr["姓名"] = "sf" + i.ToString();
dr["性别"] = i.ToString();
dt.Rows.Add(dr);
}
#region 输出测试
//foreach (DataRow row in dataTable1.Rows)
//{
// for (int i = 0; i < dataTable1.Columns.Count; i++)
// {
// Console.Write(row[i] + " ");
// }
// Console.WriteLine();
//}
//Console.ReadKey();
#endregion
ds.Tables.Add(dt);
dataGridView1.DataSource = dt;//从VS工具箱中拖的一个数据显示控件,配置此控件的数据源
}
private void btnPrnView_Click(object sender, EventArgs e)
{
//ds = new DataSet();
//ds.Tables.Add(dt);
Report report = new Report();
report.Load("2.frx");//bin/debug下
report.RegisterData(ds);//必须装 dataset 数据集,如果装入datatable数据表,要加参数表名,所以加集方便
report.Preview = previewControl1;
report.Prepare();
report.ShowPrepared();
}
private void btnPrn_Click(object sender, EventArgs e)
{
//ds = new DataSet();
//ds.Tables.Add(dt);
Report report = new Report();
report.Load("2.frx");//bin/debug下
report.RegisterData(ds);//必须装dataset数据集,如果装入datatable数据表,要加参数表名,所以加集方便
report.Print();
}
private void btnDesign_Click(object sender, EventArgs e)
{
//ds = new DataSet();
//ds.Tables.Add(dt);
Report report = new Report();
report.Load("2.frx");//bin/debug下
//report.RegisterData(ds);
report.Design();
//report.Show();
report.Dispose();
}
}
}
fastreport设计器中的关键操作
以下保存出来的字典文件的修改再通过打开引入到设计器中是为了给报表模板做数据源,以便拖到设计区设计模板
要引入的fastreport.frd字典文件(先存成一个空壳字典文件dictionary.frd再按下面内容修改--红字部分) 再在fastreport中右侧的action(动作)部分打开该修改过的字典
<?xml version="1.0" encoding="utf-8"?>
<Dictionary>
<Parameter Name="Parameter" DataType="System.String"/>
<TableDataSource Name="Table1" ReferenceName="Data.Table1" DataType="System.Int32" Enabled="true">
<Column Name="姓名" DataType="System.String" PropName="Column"/>
<Column Name="性别" DataType="System.String" PropName="Column"/>
</TableDataSource>
</Dictionary>