2011-12-02 38 views
2

所以我有一個名爲CustomClass1的類,它有幾個字符串和DateTime屬性。我將另一個類的實例傳遞給RDLC,其中包含多個CustomClass1類型的屬性。如何傳遞和使用自定義類到RDLC報告?

在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

是有登記和處理在RDLC報告自定義類的具體辦法?

感謝

斯圖爾特

回答

3

沒有反應,但我的工作了。如果我使CustomClass1類可串行化,則RDLC能夠處理該類。

+2

這也適用於我,謝謝。 (您應該接受這是正確的答案。) –

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:我寫了數以百計的報告我想通了這一點之前。