水晶报告可以从对象数据源获取数据吗?

时间:2010-10-19 13:16:22

标签: crystal-reports ssrs-2008 objectdatasource

水晶报告可以从对象数据源而不是数据库中获取数据吗?我正在使用vs2008附带的水晶报告。我在c#3.5编码。

我想使用一个返回List<的对象数据源。 MyClass的取代。

当我们将来迁移到ssrs时,是否可以从这个对象数据源获取数据?

2 个答案:

答案 0 :(得分:1)

除了ICollection参数之外,SetDataSource还有一个重载。使用它,您可以将简单的对象集合绑定到CR。但这并不比使用数据集灵活。使用数据集,您可以绑定多个相关表并构建更高复杂度的报告。

服务器的迁移对CR没有影响,因为SetDataSource仅适用于断开连接的对象,例如数据集或对象数据源。

答案 1 :(得分:1)

是的,你可以这样做,但你必须将对象包装在一个数组中:

// my crystal report
Rpt rpt = new Rpt();


AirLine lAirLine = (AirLine)cmbAirLine.SelectedItem;

// I added two objects as datasources in report designer

// here aWB.AWBPieceList is List<AWBPiece> where 'AWBPiece' is some class.
rpt.Database.Tables[0].SetDataSource( AWBPieceList.ToArray() );

// the second : objects are mapped to tables by crystal report.
rpt.Database.Tables[1].SetDataSource( new AirLine[] { lAirLine } );