如何在RDL中使用自定义实用程序类?

如何在本地模式的Microsoft报告中使用您自己的实用程序类(您在应用程序代码中使用的那些)?它甚至可能吗? 我已经阅读了一些规范,并且有一些元素表明它可以完成但是不清楚要做什么。 即使我用名称空间前缀调用它,简单地调用代码也不起作用。     
已邀请:
假设您的实用程序完全符合
ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
的程序集。 它有2个类: 公共静态类
ReportUtils.Foo
用公共方法
string GetValue()
公共类
Bar
,带无参数构造函数和公共属性
Id
。 Visual Studio 2008
Report -> Report Properties -> References
- 参考资料部分。 RDL xml 加
<CodeModules>
    <CodeModule>ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</CodeModule>
</CodeModules>
Report
元素下。 您还可以添加在加载报告时自动构建的类的实例: Visual Studio 2008 与之前相同的菜单 - 课程部分。 RDL xml 加
<Classes>
    <Class>
        <ClassName>ReportUtils.Bar</ClassName>
        <InstanceName>barInstance</InstanceName>
    </Class>
</Classes>
Report
元素下。 您可以像这样使用静态实用程序方法:
<Value>=ReportUtils.Foo.GetValue()</Value>
你可以像这样使用你的类实例:
<Value>=Code.barInstance.Id</Value>
您必须将您的程序集添加为您正在使用的
LocalReport
实例的受信任:
localReport.AddTrustedCodeModuleInCurrentAppDomain("ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
您可能必须将
ReportUtils
程序集复制到VS2008 Common7 IDE PrivateAssemblies目录,以便可以在Visual Studio的报表设计器中设计报表而不会出现错误。 我最近使用过这个,所以这应该是实现目标的所有必要步骤。     

要回复问题请先登录注册