所以我有一个名为CustomClass1的类,它有几个字符串和DateTime属性。我将另一个类的实例传递给RDLC,其中包含一些CustomClass1类型的属性。
在RDLC中我正在配置数据集字段,如下所示:
<DataSet Name="ExtensionRequestFormViewerModel">
<Fields>
<Field Name="SomeField">
<DataField>SomeField</DataField>
<rd:TypeName>FullyQualifiedNameSpace.CustomClass1</rd:TypeName>
</Field>
--- Other Fields
</Fields>
</DataSet>
我可以看到属性被填充到发送到RDLC的数据中,但是当我尝试读取如下数据时:
<Value>=Fields!SomeField.Value.Property1</Value>
我在FormViewer中得到一个#Error
是否有在RDLC报告中注册和处理自定义类的特定方法?
由于
斯图尔特
答案 0 :(得分:3)
没有回应,但我解决了。如果我将CustomClass1类序列化,则RDLC能够处理该类。
答案 1 :(得分:0)
假设我有一个包含这样的数据的自定义类:
[Serializable]
public class AppTelecommunicationsNumber : AppContactMechanism {
public int AreaCode { get; set; }
public string ContactNumber { get; set; }
public int? CountryCode { get; set; }
public string Extention { get; set; }
}
说我想在报告上显示ContactNumber
字段。必须先将[Serializable]
属性添加到类中,然后才能在RDLC设计器的表达式编辑器中引用它。
然后,您可以直接引用字段名称:
=First(Fields!PhoneNumber.Value.ContactNumber, "WorkOrderViewModel")
FWIW:在我弄清楚之前,我已经写了数百份报告。