2008-09-24 3 views
2

일부 경우 강력하게 형식화 된 데이터 집합 및 데이터 행 대신 사용자 지정 개체를 사용하는 것이 좋습니다. 그러나 Microsoft보고 (VS2005에 포함)에는 강력하게 형식화 된 데이터 집합이 필요합니다.Microsoft Report (.rdlc)의 원본으로 사용자 지정 개체 사용

내 맞춤 개체를 사용하여 보고서를 디자인하고 채우는 방법이 있습니까?

답변

6

답변을 찾았습니다. 예, 가능합니다. Visual Studio에서 사용자 정의 객체를 데이터 소스로 추가하기 만하면됩니다.

http://www.gotreportviewer.com/objectdatasources/index.html

+0

내가 원격 보고서의 소스 (같은 사용자 정의 개체를 사용할 수 있습니다 :

나는 코드

reportViewer.LocalReport.DataSources.Add(new ReportDataSource("MemberInvoice", new[] { invoice1 })); 

의 보고서 유형 Aies.Core.Model.Invoice.MemberInvoice의 데이터를 할당하고 사용자 정의는 RDL ***), *** RDLC *** 아닌가요? – Kiquenet

1

나는 다소 임의의 개체에서 데이터 값을 읽도록 SSRS를 설정할 수 있다고 생각합니다. This Link은 (IIRC)가 getter 메소드를 지정하여 값을 가져올 수 있도록 허용하는 API의 IDataReaderFieldProperties 객체를 설명합니다.

2

내가 보고서의 모델로 내 프로젝트에서 보고서 데이터 설정에서 내 자신의 포항 강판 중 하나를 선택할 수 없었습니다 일 - walkthrough에 언급 된 주장 '글로벌'옵션은 없었다. 그래서 유형과 모방 데이터 소스 (실제로 내 프로젝트에는 존재하지 않음)를 정의하기 위해 XML을 편집해야했습니다. ***

<DataSources> 
    <DataSource Name="MemberInvoice"> 
     <ConnectionProperties> 
     <DataProvider>System.Data.DataSet</DataProvider> 
     <ConnectString>/* Local Connection */</ConnectString> 
     </ConnectionProperties> 
     <rd:DataSourceID>3fe04def-105a-4e9b-99db-630c1f8bb2c9</rd:DataSourceID> 
    </DataSource> 
    </DataSources> 
    <DataSets> 
    <DataSet Name="MemberInvoice"> 
     <Fields> 
     <Field Name="MemberId"> 
      <DataField>MemberId</DataField> 
      <rd:TypeName>System.Int32</rd:TypeName> 
     </Field> 
     <Field Name="DateOfIssue"> 
      <DataField>DateOfIssue</DataField> 
      <rd:TypeName>System.DateTime</rd:TypeName> 
     </Field> 
     <Field Name="DateDue"> 
      <DataField>DateDue</DataField> 
      <rd:TypeName>System.DateTime</rd:TypeName> 
     </Field> 
     <Field Name="Amount"> 
      <DataField>Amount</DataField> 
      <rd:TypeName>System.Decimal</rd:TypeName> 
     </Field> 
     </Fields> 
     <Query> 
     <DataSourceName>MemberInvoice</DataSourceName> 
     <CommandText>/* Local Query */</CommandText> 
     </Query> 
     <rd:DataSetInfo> 
     <rd:DataSetName>Aies.Core.Model.Invoice</rd:DataSetName> 
     <rd:TableName>MemberInvoiceData</rd:TableName> 
     <rd:ObjectDataSourceSelectMethod>GetInvoices</rd:ObjectDataSourceSelectMethod> 
     <rd:ObjectDataSourceSelectMethodSignature>System.Collections.Generic.IEnumerable`1[Aies.Core.Model.Invoice.MemberInvoice] GetInvoices()</rd:ObjectDataSourceSelectMethodSignature> 
     <rd:ObjectDataSourceType>Aies.Core.Model.Invoice.MemberInvoiceData, Aies.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</rd:ObjectDataSourceType> 
     </rd:DataSetInfo> 
    </DataSet> 
    </DataSets> 
관련 문제