您如何在本地模式下的 Microsoft 报告中使用您自己的实用程序类(您在应用程序代码中使用的那些)?甚至可能吗?
我已经阅读了一些规范,并且有一些元素表明它可以完成,但并不清楚该怎么做。
即使我使用命名空间前缀调用代码,简单地调用代码也不起作用。
您如何在本地模式下的 Microsoft 报告中使用您自己的实用程序类(您在应用程序代码中使用的那些)?甚至可能吗?
我已经阅读了一些规范,并且有一些元素表明它可以完成,但并不清楚该怎么做。
即使我使用命名空间前缀调用代码,简单地调用代码也不起作用。
假设您有一个完全符合ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
您的实用程序方法的程序集。
它有2个类:
ReportUtils.Foo
string GetValue()
Bar
具有无参数构造函数和公共属性的公共类Id
。Report -> Report Properties -> References
-参考资料部分。
添加
<CodeModules>
<CodeModule>ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</CodeModule>
</CodeModules>
Report
元素下。
您还可以添加您的类的实例,这些实例将在您加载报告时自动构建:
与以前相同的菜单 -课程部分。
添加
<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 的报表设计器中设计您的报表而不会出错。
我最近使用过这个,所以这应该是实现你的目标的所有必要步骤。