我有一个自定义业务对象,它会重载.ToString()函数。它还实现了IFormattable.ToString,因此我可以定义自己的自定义格式。
除了.rdlc报告外,这种方法似乎在我的应用程序中无处不在。例如,我在报表上有一个文本字段,其中包含以下表达式:
=Fields!MyField.Value.ToString("lr")
“lr”是我创建的自定义格式。运行报告时,我总是将#Error作为输出。我在.ToString函数中放置断点并在报告运行时逐步执行代码,我知道函数返回正确的值,但报告似乎无法接收和显示它。 / p>
答案 0 :(得分:1)
可以在rdlc报告中以不同的方式使用VB代码。只需用鼠标右键单击报告即可。当您输入参数的上下文菜单转到Proprties时。单击它时,您应该看到一个选项卡控件,几页标签页。转到标签页“代码”你正确的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 )
P.S。我不太确定VB代码是否正常工作只是测试它,如果需要重写。如果发生任何其他错误,请发布它以查看问题是什么