2

我正在尝试使用要传递给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)

但这甚至不会让我建立。

4

2 回答 2

1

问题是信息不在根级别。不过我解决了。

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

我现在已经很好地掌握了 ReportViewer 组件了。

于 2008-11-08T14:04:53.060 回答
0

如果您将数据源设置为从服务返回的 CustomerInfo 实例(或列表),它应该可以工作。当您开始处理对象层次结构时,ReportViewer 控件可能会有点复杂,但如果所有信息都位于根级别,则您不必做任何疯狂或特殊的事情。

于 2008-11-05T16:23:30.690 回答