我们正在考虑为Microsoft Reporting Services构建自定义数据处理扩展,以便我们直接从我们的数据对象报告。Microsoft报告和复杂对象
我的问题: 假设我有一个表示该行的对象,但它有一个成员是一个复杂的对象:
public class TheRowObject
{
// a "normal" field
public string Name {get; set;}
// a complex field object
public Address BillingAddress { get; set;}
}
public class Address
{
public string City {get; set;}
public string State {get; set;}
public string Zip {get; set}
}
我有麻烦把TheRow.Name上的报告,但什么如果我想把TheRow.BillingAddress.City?
报表设计器允许我将BillingAddress拖动到报表界面上,但在运行时,它会在字段中显示文本“错误”。
有没有办法显示复杂对象的成员?
编辑 我后我真的什么,如果可能的话,是最终用户能够拖动从ReportData工具窗口中的复杂对象的属性右转报告表面。我希望在报表查看器中有一些内置的功能。
如果没有内置的方法来处理这个问题,我猜我需要在报告中提供自定义公式,或者提供一个数据扩展来“展平”复杂对象的属性,所以他们看起来像普通的田野。
这似乎并不奏效。当我编辑公式文本时,它显示表达式:= First(Fields!Name.Value,“ProviderCollection”)(注意,“Value”字段不是我的,必须是报告包装的一部分)。如果我尝试将其更改为使用address.City,则会出现构建时错误。我试过Address.Value.City,Address.City.Value,Address.Value.City.Value的各种组合都无济于事。 – JMarsch 2010-02-18 22:26:39
我有一些报告要从SSRS2005迁移到SSRS2008。在2005版本中,“Address.Value.City”表达式用于工作,但在迁移过程中,我不得不更改对象,因此不会显示复杂类型。我不知道为什么这在Reporting Services中发生了变化... – Fabio 2011-07-04 13:35:21