Передача в отчет строки подключения
Если ваш отчет использует собственные источники данных, вам может понадобиться передать в отчет строку подключения. Это можно сделать тремя способами.
Первый способ: строка подключения присваивается непосредственно объекту Connection в отчете:
report1.Load(...);
// делаем это после загрузки отчета, перед его построением
// подразумевается, что в отчете есть одно подключение
report1.Dictionary.Connections[0].ConnectionString = my_connection_string;
report1.Show();
Второй способ: строка подключения передается с помощью параметра отчета. Для этого сделайте следующее:
- запустите дизайнер отчета;
- в окне "Данные" создайте параметр отчета (например, с именем "MyParameter"). Подробнее об этом см. в "Руководстве пользователя";
- в окне "Данные" выделите объект "Подключение";
- перейдите в окно "Свойства" и установите значение свойства
ConnectionStringExpression
:
[MyParameter]
- передайте в отчет значение параметра
MyParameter
, содержащее строку подключения:
report1.SetParameterValue("MyParameter", my_connection_string);
Третий способ: используйте событие DatabaseLogin
у глобального класса FastReport.Utils.Config.ReportSettings
(см. раздел "Конфигурация среды FastReport"). Это событие вызывается каждый раз при открытии соединения с базой данных. Вот пример обработчика:
private void environmentSettings1_DatabaseLogin(
object sender, DatabaseLoginEventArgs e)
{
e.ConnectionString = my_connection_string;
}
Учтите, что событие
DatabaseLogin
работает глобально для всех отчетов.