Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为报告引擎的FixedDocument?_C#_Wpf_Reporting - Fatal编程技术网

C# 作为报告引擎的FixedDocument?

C# 作为报告引擎的FixedDocument?,c#,wpf,reporting,C#,Wpf,Reporting,我想知道如何使用WPF的FixedDocument作为报告引擎。有人有这样的经历吗?可能的陷阱是什么 我正在开发的一个应用程序必须打印一些报告。这些是订单、发票——也就是说,没有什么不寻常的。最近,我研究了FlowDocument和fixedDocMet概念,我发现理论上,fixedDocMet是我所需要的 然后,我草拟了一份样本报告,面临一个问题: <PageContent> <FixedPage Width="793.76" Height="1122

我想知道如何使用WPF的
FixedDocument
作为报告引擎。有人有这样的经历吗?可能的陷阱是什么

我正在开发的一个应用程序必须打印一些报告。这些是订单、发票——也就是说,没有什么不寻常的。最近,我研究了
FlowDocument
fixedDocMet
概念,我发现理论上,
fixedDocMet
是我所需要的

然后,我草拟了一份样本报告,面临一个问题:

    <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,我就可以动态生成它们


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

我的经验表明,当涉及到打印/定制解决方案时,固定文档是完全无用的

首先,默认情况下,它甚至不支持打印到多个页面。您需要自定义DocumentPaginator才能实现该功能

我的两分钱就是那个,别用了。使用ReportViewer。灵活性很强

使用固定文档做任何事情都是完全可能的,但成本/时间不值得。这几乎等同于比较ASM和高级语言。是的,你可以在ASM中做任何事情,但这不值得

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