Допустим, у вас есть сборка, полностью квалифицированная как ReportUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
с вашими служебными методами.
Имеет 2 класса:
- public static class
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 без ошибок.
Я использовал это недавно, так что это должны быть все необходимые шаги для достижения вашей цели.