delphi 中fastReport rmReport都很好用,转到.net了,第一想法也是这两个,好在这里有个fastReport;
这个安装呢 找个破解的 有个4.x版
安完建一个winForm App
引用FastReport.dll FastReport.Bars.dll
再通过fastreport designer 设计一个简单的报表aa.frx (这里要先去了解下这个设计器的用法)
按钮代码如下:
using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; using FastReport; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Report r = new Report();//new一个报表 r.Load("aa.frx"); //加载打印报表 using (SqlDataAdapter ada = new SqlDataAdapter("select * from users", new SqlConnection("server=.;uid=sa;pwd=123;database=lt"))) { DataSet ds = new DataSet(); ada.Fill(ds); r.RegisterData(ds.Tables[0], ds.Tables[0].TableName);//注册数据集 有好几个重载 可以只传一个dataset r.GetDataSource(ds.Tables[0].TableName);//可以理解为绑定 r.Show();//显示预览 } } private void Form1_Load(object sender, EventArgs e) { } } }
结果F5后 预览点打印时,出现了个 rpc服务器不可用 这是因为电脑 的rpc服务 和打印机的服务(remote procedure call 和PrintSpooler)没启动
启动后就可以正常使用了