gpt4 book ai didi

.net - 如何使用报表查看器 10.0 在 rdlc 中显示枚举的字符串表示形式

转载 作者:行者123 更新时间:2023-12-01 14:01:20 27 4
gpt4 key购买 nike

我已将多个报表从 visual studio 2008 报表生成器格式转换为 visual studio 2010 报表生成器格式。这涉及转换 .rdlc 文件并引用新的报告查看器程序集,版本 10.0(旧版本为 9.0)。

我发现枚举值现在显示为数值,而旧版本显示枚举值的字符串表示形式。我不知道如何设置值的格式以便显示字符串。

我使用对象的 IEnumerable 作为我的数据源。我知道我可以向对象添加属性以将枚举值公开为字符串 - 但我认为这是最后的手段,因为我正在谈论数百个报告和对象加上添加这些属性更像是一个黑客解决方案,真正添加对对象模型没有任何意义。

所以我希望有一种更简洁的方法可以直接通过报表设计器来完成格式化枚举值。

在以下枚举中,PaymentBucketTyp.PRIN 应在报告中显示为“PRIN”而不是“0”,PaymentBucketType.AINT 应显示为“AINT” :

Public Enum PaymentBucketType
PRIN
AINT
CORT
ATTY
MISC
End Enum

我试过以下表达方式:

=Fields!Bucket.Value
=Fields!Bucket.Value.ToString()
=CStr(Fields!Bucket.Value)
=Fields!Bucket.Value.ToString("G") 'produces #Error

我还尝试将文本框的格式设置为 ="G"

更新 - 2012 年 2 月 28 日我也试过 System.ComponentModel.DataAnnotations 属性,还是不行:

[System.ComponentModel.DataAnnotations.Display(Name = "PRIN")]
[System.ComponentModel.DataAnnotations.DisplayFormat(DataFormatString="G")]

最佳答案

在网上找了很久,终于找到了解决办法。在字段表达式中只需放入此代码:

=System.Enum.GetName(First(Fields!YourFieldBasedOnEnumType.Value).GetType(), Fields!YourFieldBasedOnEnumType.Value)

source

该解决方案适合我。

关于.net - 如何使用报表查看器 10.0 在 rdlc 中显示枚举的字符串表示形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958727/

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