Как подцепить отчет к контролу stiPreviewControl ?
Добавлено: 27 июн 2008, 06:44
Пробую передать строку соединения.
Если я по событию Click кнопки делаю так:
все ok.
Но если же я по тому же событию Click из текущего окна вызываю другое окно:и уже в новом окне делаю все тоже самое,
строка соединения builder.ConnectionString не передается.. Загадки природы.
Вообще-то я хотел в новом окне разместить stiPreviewControl и уже в нем все просматривать.
Но никак не получается передать строку соединения с базой. Не знаю, в чем м.б. проблема.
Вот полный текст:
Отчет получается пустой т.к. хранимая процедура, которая у меня есть в отчете, не работает.
Что посоветуете?
Если я по событию Click кнопки делаю так:
Код: Выделить всё
StiReport report = new StiReport();
report.Load(reportName);
((StiSqlDatabase)report.Dictionary.Databases[0]).ConnectionString = builder.ConnectionString;
report.Show();
Но если же я по тому же событию Click из текущего окна вызываю другое окно:
Код: Выделить всё
PrintForm printForm = new PrintForm();
printForm.Show();
строка соединения builder.ConnectionString не передается.. Загадки природы.
Вообще-то я хотел в новом окне разместить stiPreviewControl и уже в нем все просматривать.
Но никак не получается передать строку соединения с базой. Не знаю, в чем м.б. проблема.
Вот полный текст:
Код: Выделить всё
private void PrintForm_Load(object sender, EventArgs e)
{
#region report Load
StiReport report = new StiReport();
string reportPath_mrt = Application.StartupPath + @".\StimulReport\Rechnungswesen.mrt";
string reportPath_dll = Application.StartupPath + @".\StimulReport\Rechnungswesen.dll";
// если сборки отчета нет на диске
if (!File.Exists(reportPath_dll))
{
// загружаем отчет из файла
report.Load(reportPath_mrt);
// компилиляция и сохранение отчета в dll
report.Compile(reportPath_dll);
}
report = StiReport.GetReportFromAssembly(reportPath_dll);
#endregion
#region ConnectionString
SaveLoadSqlConnectionVariable myVariables = new SaveLoadSqlConnectionVariable();
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.InitialCatalog = "AWIAS";
builder.DataSource = myVariables.SeverName;
builder.ConnectTimeout = myVariables.Timeout;
builder.IntegratedSecurity = myVariables.IntegratedSecurity;
if (!myVariables.IntegratedSecurity)
{
builder.Password = myVariables.Password;
builder.UserID = myVariables.UserNameSQL;
}
#endregion
((StiSqlDatabase)report.Dictionary.Databases[0]).ConnectionString = builder.ConnectionString;
stiPreviewControl1.Report = report;
stiPreviewControl1.Show();
}
Что посоветуете?