我有一个自定义业务对象,它重载了 .ToString() 函数。它还实现了 IFormattable.ToString,因此我可以定义自己的自定义格式。
这种方法似乎在我的应用程序中的任何地方都适用,除了 .rdlc 报告。例如,我在报表上有一个文本字段,其中包含以下表达式:
=Fields!MyField.Value.ToString("lr")
“lr”是我创建的自定义格式。运行报告时,我总是得到 #Error 作为输出。我在 .ToString 函数中放置了断点,并在报告运行时逐步执行代码,我知道该函数返回正确的值,但报告似乎无法接收和显示它。
您可以使用 VB 代码在 rdlc 报告中以不同的方式执行此操作。只需用鼠标右键单击报告即可。当您输入参数的上下文菜单转到属性时。单击它时,您应该看到一个选项卡控件,其中有几个选项卡页。转到标签页“代码”,那里有你的 VB 函数,它必须是这样的
Public Function ParseVal(ByVal val As Object ) As String
Dim MyClass As obj = CType(val, MyClass )
return obj.ToString( "lr" )
End Function
然后像这样调用文本框中的函数
= Code.ParseVal(Fields!MyField.Value )
附:我不太确定 VB 代码是否正常工作,只需测试它以及是否需要重写。如果出现任何其他错误,请发布它以查看问题所在
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)