gpt4 book ai didi

c# - FixedDocument 作为报表引擎?

转载 作者:行者123 更新时间:2023-11-30 22:24:24 27 4
gpt4 key购买 nike

我想知道如何使用 WPF 的 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 是否有开箱即用的方法?
如果不是,如何在运行时定义当前要呈现的项目超出页面?只要固定页面只是一组 UIElement,我就可以动态生成它们。

附言我知道不同的商业报告引擎,问题不在于它们。

最佳答案

我的经验表明,FixedDocument 在打印/自定义解决方案方面完全没有用。

首先,默认情况下它甚至不支持打印到多页。您需要为该功能定制 DocumentPaginator。

我的两分钱是,不要使用它。使用 ReportViewer。很大的灵 active 。

使用 FixedDocument 可以做所有事情,但成本/时间不值得。这几乎与比较 ASM 和高级语言相同。是的,您可以在 ASM 中做任何事情,但这不值得。

FixedDocument 不能真正称为报告引擎,因为它没有任何“类引擎”功能。

关于c# - FixedDocument 作为报表引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com