在FastReport中我们通常会通过自定义的连接与过滤条件(sql语句)来初始化表格的数据,使用方法如下:
//strCurTableName为新建数据源中所添加的表格的名称
DataSourceBase columnData = Report.GetDataSource(strCurTableName);
TableDataSource td = columnData as TableDataSource;
//strConnection为自定义的数据库连接,可以从外部作为参数传入
td.Connection.ConnectionString=this.strConnection;
//自定义的过滤条件,也就是sql语句,也可以从外部作为参数传入
td.SelectCommand=strSql;
td.ForceLoadData=true;
td.Init();
如果不加上上面代码中红色的那句话,则在第一次初始化完成后,在同一个Report里面多次使用这个方法来对
同一个表格进行初始化,则后面初始化出来的数据会追加到表格中的数据中,导致结果可能不正确。
在官方的帮助文档中对这个属性的解释为:
This property is false by default. Set it to true if you need to reload data each time when the datasource initialized.
Note that this may slow down the performance.
所以如果在同一个Report中使用这个方法记得修改ForceLoadData的属性为true;