在Microsoft ReportViewer控件中格式化性能

时间:2009-09-29 01:25:43

标签: c# winforms visual-studio-2008 performance reportviewer

我正在建立一个价格表ap,用于我的业务(在C#3.5中使用VS 2008和WinForms)来替换一个excel电子表格,该电子表格遭受了15年的努力,以使其能够做到excel做得不好。< / p>

我在ReportViewer中呈现列表。该报告大约有650行和17列。它加载速度非常快,没有任何条件格式,但随着格式的添加而变得非常慢。

例如,我有一种格式,可根据上次更新项目成本的日期对项目的价格进行颜色编码。我正在使用的代码是:

=Switch(Fields!IsValid.Value="99" or Fields!IsValid.Value="3" or Fields!IsValid.Value="2","MistyRose",Fields!IsValid.Value="1","Khaki",Fields!IsValid.Value="0","Transparent")

还有文本颜色和其他一些列的格式。加载此报告已经使ReportViewer在我的开发计算机上准备报告15秒以上,所以我不想想在办公室里放慢机器需要多长时间。

我试过改变语句格式化的方式(不使用或使用IIf语句等语句......我也试过预先计算字段中的值,以便代码看起来像:

=Fields!PriceBackgroundColor.Value

非常简单......速度不快(它确实有点帮助)

任何人都可以向我指出有关ReportViewer Control中最佳格式化性能的信息或建议解决方案。

麦克

1 个答案:

答案 0 :(得分:1)

我从来没有找到过使用ReportViewer控件进行多次条件格式化的方法,而不会让它变慢,所以我将其用于打印列表。默认的打印视图没有条件格式,很少有完整的视图打印,只能由我自己完成,所以我可以等一两分钟。

原型界面正在改为数据网格,最终项目(组合一堆小的aps)将被转移到WPF。

学习是这些项目的主要目标之一,这是一件好事。