首页 > 代码库 > FastReport 使用入门 (二)

FastReport 使用入门 (二)

上部分  我们将格式大概都画好了

下面 我们将Datatable的每列绑定到  我们添加的table控件上 。然后打开table控件的事件 双击选中 ManualBuild 事件 添加代码 

技术分享

private void tbYZ_ManualBuild(object sender, EventArgs e){DataSourceBase data1 = Report.GetDataSource("dtYZ"); // 获取DataSet中表名为Table1的数据源
data1.Init(); // 初始化
// tbYZ.PrintRow(0); // 控件Table1打印第0行
// tbYZ.PrintColumns(); // 每打印一行,都要调用 PrintColumn或PrintColumnswhile(data1.HasMoreRows) // 打印重复循环的行{tbYZ.PrintRow(0);tbYZ.PrintColumns();data1.Next(); // 读取下一行} }

这里是 设置table的数据源  然后循环打印的方法  这里设置完成以后, 我们开始用C#调用FastReport 首先添加引用 FastReport的相关dll 添加一个Form 然后注册Fastreport 控件 ,将PreviewControl放到Form上  然后在Form的Load事件中传入 Dataset 和 Parameters。需要注意的是 在传入dateset中的Datatable的名字一定要和FastReport格式中的 Datatable名字一样。

技术分享

   private void fm住院处方笺打印对话框_Load(object sender, EventArgs e)        {            Report freport = new Report();            freport.Preview = this.previewControl1;            freport.Load(@"住院处方笺.frx");            this.previewControl1.Report.RegisterData(dsyz);            freport.SetParameterValue("日期", DateTime.Now.ToString("yyyy年MM月dd日"));            this.previewControl1.Report.SetParameterValue("费别", listInfo[0]);            this.previewControl1.Report.SetParameterValue("住院号", listInfo[1]);            this.previewControl1.Report.SetParameterValue("科室", listInfo[2]);            this.previewControl1.Report.SetParameterValue("姓名", listInfo[3]);            this.previewControl1.Report.SetParameterValue("性别", listInfo[4]);            this.previewControl1.Report.SetParameterValue("年龄", listInfo[5]);            this.previewControl1.Report.SetParameterValue("门诊号", listInfo[6]);            this.previewControl1.Report.SetParameterValue("住址或电话号码", listInfo[7]);            this.previewControl1.Report.SetParameterValue("临床诊断", listInfo[8]);            this.previewControl1.Report.SetParameterValue("医师", listInfo[9]);            this.previewControl1.Report.SetParameterValue("药品金额及讫章", listInfo[10]);            this.previewControl1.Report.Show();        }

  

FastReport 使用入门 (二)