Добавление ссылки на сборку динамически

Обсуждение Stimulsoft Reports.NET
Наталья
Сообщения: 110
Зарегистрирован: 19 фев 2009, 06:37

Добавление ссылки на сборку динамически

Сообщение Наталья »

Здравствуйте.

1.У меня есть модуль, в котором создается отчет, регистрируется для него источник данных (RegData), сохраняется и отправляется на просмотр. Необходимо здесь же при создании отчета добавить несколько ссылок на сборки, но как я поняла сылки можно добавить только на те сборки, которые в GAC? А можно ли добавить ссылку на сборку, лежащую в проекте моего модуля? Я пыталась подключить, но при запуске отчета выводится ошибка, что невозможно загрузить сборку.

Спасибо.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Добавление ссылки на сборку динамически

Сообщение HighAley »

Здравствуйте.

Мы не совсем поняли вашу проблему. Не могли бы вы описать её более подробно и желательно с примерами.

Спасибо.
Наталья
Сообщения: 110
Зарегистрирован: 19 фев 2009, 06:37

Re: Добавление ссылки на сборку динамически

Сообщение Наталья »

Здравствуйте.

Отправляю тестовый проект.
В комментариях отмечены вопросы.
Спасибо.
Вложения
TestReportUniConnection.zip
(2.25 МБ) 195 скачиваний
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Re: Добавление ссылки на сборку динамически

Сообщение Aleksey »

Здравствуйте Наталья,

В данном случае, вы можете попробовать использовать следующий код:
report.RegBusinessObject("RegData", _dataContext);
report.Dictionary.SynchronizeBusinessObjects(2);
но так как _dataContext содержит не только информацию о таблицах, будет подгружено много лишней информации. Поэтому более правильно, в данном случае, регистрировать таблицы по отдельности.

По поводу ceDataSource.Model.Dll, данная сборка находся в папке с проектом, а должна находиться в папке Bin с выполняемым (.exe) файлом и остальными сборками.

Спасибо.
mbondarev
Сообщения: 14
Зарегистрирован: 05 дек 2012, 12:46

Re: Добавление ссылки на сборку динамически

Сообщение mbondarev »

мы добавляем ссылки на сборки следующим кодом:

Код: Выделить всё

  
List<String> refs = new List<string>(report.ReferencedAssemblies);

if (!refs.Contains("Axsel.Kernel.dll"))
{
    refs.Add("Axsel.Kernel.dll");
}
report.ReferencedAssemblies = refs.ToArray();

при печати отчет ищет в текущем каталоге нужные файлы и подгружает их самостоятельно
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Добавление ссылки на сборку динамически

Сообщение HighAley »

Здравствуйте.

Спасибо за пример.
Наталья
Сообщения: 110
Зарегистрирован: 19 фев 2009, 06:37

Re: Добавление ссылки на сборку динамически

Сообщение Наталья »

mbondarev, спасибо за пример, получилось.
У меня в проекте при нажатии на кнопку "Создание отчета" выполняется код:

Код: Выделить всё

_report.Dictionary.Databases.Clear();
_dataContext = (ceDataContext)DataSource.GetDataContext();
_report.RegBusinessObject("Cenergo","Customers", _dataContext.Customers);
_report.RegBusinessObject("Cenergo", "GetMethods", _dataContext.GetMethods);
_report.RegBusinessObject("Cenergo", "Meters", _dataContext.Meters);
_report.RegBusinessObject("Cenergo", "PhysTypes", _dataContext.PhysTypes);
_report.RegBusinessObject("Cenergo", "ProfilePeriods", _dataContext.ProfilePeriods);
_report.RegBusinessObject("Cenergo", "ProfileTypes", _dataContext.ProfileTypes);
_report.RegBusinessObject("Cenergo", "Tariffs", _dataContext.Tariffs);
_report.RegBusinessObject("Cenergo", "ValueProperties", _dataContext.ValueProperties);
_report.Save(parentPath + "//" + e.FileName);
При нажатии на кнопку "Просмотреть отчет" код:

Код: Выделить всё

rep.Load(tp.LastNode.ToString());
rep.Design();
Можно ли после создания отчета открыть его и создать из таблиц источника данных "Cenergo" запрос?

Спасибо.
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Re: Добавление ссылки на сборку динамически

Сообщение Aleksey »

Здравсвуйте,

Извините, возможно не совсем поняли вопрос, не могли бы вы уточнить.

Спасибо.
Наталья
Сообщения: 110
Зарегистрирован: 19 фев 2009, 06:37

Re: Добавление ссылки на сборку динамически

Сообщение Наталья »

Здравствуйте.

Посмотрите, пожалуйста, вложение (в нем скрин, описывающий вопрос).
Вложения
report.png
report.png (95.83 КБ) 4367 просмотров
Aleksey
Сообщения: 2908
Зарегистрирован: 22 апр 2010, 06:57

Re: Добавление ссылки на сборку динамически

Сообщение Aleksey »

Здравствуйте,

Попробуйте использовать следующий код:

Код: Выделить всё

((StiSqlSource)report.Dictionary.DataSources["DataSourceName"]).SqlCommand = yourSqlCommand;
Спасибо.
Ответить