Генератор отчетов без проблем отображает объекты со свойствами - хотя вы не получите поддержку intellisense.Это не работает в версии 10. сборки отчетов.
Укажите поле:
<Field Name="SomeClass"><DataField>SomeClass</DataField></Field>
Получите значение (при условии, что у вашего SomeClass
есть свойство Id
):
<Value>=Fields!SomeClass.Value.Id</Value>
или даже
<Value>=Fields!SomeClass.Value.X.Y.Z.Id</Value>
, если ваша иерархия классов идет таким образом.
Редактировать :
Предположим, у вас естькласс Body
:
public class Body { public Measurement Weight { get; set; } ... }
Если вы свяжете свой источник данных следующим образом:
ReportDataSource rdsBodies = new ReportDataSource("Bodies",
new Body[] { new Body(), new Body() });
localReport.DataSources.Add(rdsBodies);
и укажите свой <DataSet>
следующим образом:
<DataSet Name="Bodies">
<Fields>
<Field Name="Weight"><DataField>Weight</DataField></Field>
</Fields>
<Query>
<DataSourceName>DS</DataSourceName>
<CommandText>Bodies</CommandText>
</Query>
</DataSet>
значение
<Value>=Fields!Weight.Value.Value</Value>
должно отображаться без ошибок, если оно находится внутри List
или Table
с
<DataSetName>Bodies</DataSetName>