我想知道如何使用WPF的FixedDocument作为报告引擎。有没有人有这样的经验?可能的陷阱是什么?
我正在开发的一个应用程序必须打印一些报告。这些都是订单、发票--也就是说,没有什么不寻常的。最近,我研究了FlowDocument和FixedDocumet的概念,我发现,从理论上讲,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>

在报告中有一种常见的做法,即将长表类数据拆分为多页(例如,包含1000个项目的发票)。此外,用户通常有一个选项,在每一页上重复一个表头,或者不重复。
对于FixedPage/ItemsControl,有没有什么现成的方法可以做到这一点
如果不是,如何在运行时定义要呈现当前项是否在页面外?只要固定页面只是一组UIElements,我就可以动态地生成它们。
另外,我知道不同的商业报告引擎,问题不是关于它们的。
发布于 2012-10-08 15:59:05
我的经验表明,当涉及到打印/定制解决方案时,FixedDocument完全没有用。
首先,默认情况下,它甚至不支持打印到多个页面。您需要具有该功能的自定义DocumentPaginator。
我的两个观点是,不要使用它。使用ReportViewer。非常灵活。
用FixedDocument做任何事情都是可能的,但这样做的成本/时间是不值得的。这几乎等同于比较ASM和高级语言。是的,你可以在ASM中做任何事情,但这是不值得的。
FixedDocument不能被称为报告引擎,因为它没有任何“类似引擎”的功能。
https://stackoverflow.com/questions/12776117
复制相似问题