Свойства, встроенные в другой объект - PullRequest
2 голосов
/ 05 ноября 2008

Я пытаюсь использовать бизнес-объект, который передаю в report.rdlc. Свойства в моем объекте не выставляются напрямую. Свойства, которые мне нужны, встроены в другой объект внутри объекта верхнего уровня. Поскольку это проект WCF, я не могу контролировать то, что происходит на стороне сервера. Я просто могу запросить эти объекты или вставить / обновить / удалить их информацию из базы данных. Это делается таким образом, поскольку серверная часть может использовать несколько разновидностей базы данных.

Вот что я вижу после добавления своего бизнес-объекта в виде DataSource:

-BusinessObject
 -CustomerInfo
  -ClientName
    -ColumnName
    -DisplayName
    -FieldName
    -IsNull
    -KeyColumn
    -SenondKeyColumn
    -StringValue 
  -ClientID
    -ColumnName
    -DisplayName
    -FieldName
    -IntValue
    -IsNull
    -KeyColumn
    -SenondKeyColumn
   +ClientAddress
   +Instrument
   +Telephone

и т. Д.

Мне нужно иметь возможность отображать, например, поле ClientName.StringValue. Если я перетащу нужное поле в отчет, я получу:

=First(Fields!StringValue.Value)

Это ничего не отображает при запуске отчета, я полагаю, потому что он не может определить, о чем StringValue говорит, и их может быть много.

Если я попытаюсь перетащить объект ClientName, я получу:

=First(Fields!ContactName.Value)

Однако это дает:

#ERROR

Когда отчет запускается.

Я бы подумал, что вы могли бы использовать:

=First(Fields!ClientName.StringValue.Value)

но это даже не позволит мне строить.

Ответы [ 2 ]

1 голос
/ 08 ноября 2008

Проблема заключалась в том, что информация не была на корневом уровне. Я решил это все же.

=First(Fields!ClientName.Value.StringValue, "BusinessObject_CustomerInfo")

У меня довольно хорошее представление о компоненте ReportViewer, теперь ура.

0 голосов
/ 05 ноября 2008

Если для источника данных установить экземпляр CustomerInfo (или список), возвращаемый из службы, он должен работать. Элемент управления ReportViewer может быть немного сложнее, когда вы начинаете работать с иерархиями объектов, но вам не нужно делать ничего сумасшедшего или особенного, если вся информация находится на корневом уровне.

...