2012-10-08 5 views
2

WPF의 FixedDocument을보고 엔진으로 사용하는 것에 대해 궁금합니다. 누구든지 그런 경험을합니까? 가능한 함정은 무엇입니까?FixedDocument를보고 엔진으로 사용 하시겠습니까?

지금 개발중인 응용 프로그램 중 일부 보고서를 인쇄해야합니다. 이것은 명령, 청구서입니다. 즉, 특이한 것은 없습니다. 최근에 FlowDocumentFixedDocumet 개념을 살펴 봤는데 이론적으로는 FixedDocumet이라는 것을 발견했습니다.

보다, 내가 샘플 보고서를 스케치하고, 문제에 직면했습니다

<PageContent> 
     <FixedPage Width="793.76" Height="1122.56" Margin="50,50,50,50" PrintTicket=""> 
      <ListView Width="Auto" Height="Auto" ItemsSource="{Binding}"> 
       <ListView.View> 
        <GridView> 
         <GridViewColumn Header="First name" 
             Width="200" 
             DisplayMemberBinding="{Binding FirstName}"/> 
         <GridViewColumn Header="Last name" 
             Width="200" 
             DisplayMemberBinding="{Binding LastName}"/> 
        </GridView> 
       </ListView.View> 
      </ListView> 
     </FixedPage> 
    </PageContent> 

Footer of fixed document

여러 페이지로 긴 테이블 종류의 데이터를 (분할 보고서에서 일반적인 관행이있다 예 : 1000 개 항목의 송장). 또한 사용자가 옵션을 사용하여 각 페이지에서 표 머리글을 반복하거나 반복하지 않는 것이 일반적입니다.

FixedPage/ItemsControl을 사용하면 즉시 사용할 수있는 방법이 있습니까?
아니요, 런타임시 렌더링 할 현재 항목이 페이지 외부에있는 것을 정의하는 방법은 무엇입니까? 고정 된 페이지가 UIElements의 집합 일 경우 동적으로 생성 할 수 있습니다.

P. 다른 상업용보고 엔진에 대해 알고 있습니다. 질문은 그것들에 관한 것이 아닙니다.

답변

3

내 경험에 따르면 FixedDocument는 인쇄/사용자 지정 솔루션의 경우 전혀 쓸모가 없다는 것을 알 수 있습니다.

우선, 기본적으로 여러 페이지에 인쇄하는 것을 지원하지 않습니다. 해당 기능에 대한 사용자 지정 DocumentPaginator가 있어야합니다.

내 두 센트는 사용하지 마십시오. ReportViewer로 이동하십시오. 유연성이 높습니다.

FixedDocument로 모든 것을 할 수는 있지만 비용/시간은 그다지 가치가 없습니다. ASM과 고급 언어를 비교하는 것과 거의 같습니다. 예, ASM에서 모든 것을 할 수는 있지만 가치가 없습니다.

FixedDocument는 실제로 "엔진과 같은"기능이 없으므로보고 엔진이라고 할 수 없습니다.

관련 문제