2

我通过右键单击解决方案资源管理器中的项目添加Report.rpt了一个文件。Report.fsReport.fs我声明了两个 TypeReport()CachedReport(),它们在 C# 中是自动生成的,并通过查看.csCrystalReport 在 C# WPF Projet 中生成的文件在其中添加了 F# 代码。在 Xaml 我有

<ContentControl Content="{Binding ShowReport}"/>
<Button Command="{Binding ViewReport}" Content="Click" Grid.Row="1"/>

在 ViewModel 中

let doc = new CrystalReportsViewer()
let setSource() = 
    let rpt = new Report()
    rpt.Load("~/Report.rpt")
    doc.ViewerCore.ReportSource <- rpt
member x.ShowReport =  doc
member x.ViewReport = self.Factory.CommandSync(setSource)

当我启动应用程序时,我可以看到 CrystalReport Viewer。如果我单击按钮应用程序将自动关闭。

如果我双击Report.rpt弹出一个对话框并说This document could not be opened

如何在 F# WPF 中使用它?F# WPF 还有其他报告工具吗?

4

1 回答 1

0

我只需要构建一个带有报表作为嵌入式资源的 C# 类库,在 F# 引用中添加程序集并编写...

let doc = new CrystalReportsViewer()
let setSource() = 
    let rpt = new MyCsClass.CrystalReport1()
    ....
    doc.ViewerCore.ReportSource <- rpt 

就这样!

于 2016-12-14T11:56:27.873 回答