using Smart.Controls;
一、注册参数
public override void InitReport(FastReport.Report report) { base.InitReport(report); report.SetParameterValue("欄目1", myDm.Header1); report.SetParameterValue("欄目2", myDm.Header2); report.SetParameterValue("欄目3", myDm.Header3); report.SetParameterValue("欄目4", myDm.Header4); report.SetParameterValue("欄目5", myDm.Header5); report.SetParameterValue("欄目6", myDm.Header6); }
注意:
经使用发现这种方法注册参数有一个致命的缺点,就是参数只能在报表首次建立时传入,如果报表设计好想再加参数似乎不可能。考虑到后期维护问题建议不要用这种方法,可以用下面的注册数据源方法来达到相同效果。
二、注册数据源
public override void InitReport(FastReport.Report report) { base.InitReport(report); // 报表参数 (其实就是只有一行记录的DataTable) var param = new DataTable(); param.Columns.Add("截止年度", typeof(int)); param.Columns.Add("截止月份", typeof(int)); //加一行记录 var paramRow = param.Rows.Add(); paramRow.SetField("截止年度", myDm.SelectedDate.Year); paramRow.SetField("截止月份", myDm.SelectedDate.Month); //註冊 report.RegisterData(param, "报表参数"); //注冊:貨車客戶的打印信息 var customer = DataAgent.GetPubTruckCustomerPrintInfo(myDm.CustomerNo); report.RegisterData(customer.Table, "客戶信息"); //注冊:公司的打印信息 var company = DataAgent.GetPubCompanyPrintInfo(myDm.CompanyNo); report.RegisterData(company.Table, "公司信息"); }