在我们做C#程序的时候,用到FastReport报表,有些时候希望从程序里往FastReport中传递数据,而不是用FastReport直接绑定数据源,经过本人的研究和请教大神,终于找到了解决方法。
首先在VS中创建一个数据集,然后加入需要的字段。如下图

添加相应的字段

打开项目文件夹,把刚才添加的数据集生成的文件DataSet1.xsd后缀改为DataSet1.xml。

然后打开FastReport的设计器,添加数据源

选择类型为Xml数据源,XML架构文件选择刚才的XML文件,FastReport就会自动生成数据源,关于如何设计报表区域,在这里不做介绍。添加完数据源后,设计好报表样式,保存即可,回到VS中,动态绑定数据源。代码如下
using (Report report = new Report())
{
string file = System.Windows.Forms.Application.StartupPath;
file += "\\Report\\report.frx";
report.Load(file);
//传递数据
report.RegisterData(dt, "BuyTicket");
//静默打印
report.PrintSettings.ShowDialog = false;
report.Print();
}