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, "公司信息");
}