Как определить - есть ли данные в источнике данных?
Как определить - есть ли данные в источнике данных?
Здравствуйте.
у меня такая проблема: отчет в Web, данные берутся из MS SQL 2000.
пишу такой код:
Stimulsoft.Report.StiReport report = StiWebReport1.GetReport();
report.Compile();
if (report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty)
{
StiWebViewer1.Visible = false ;
}
else
{
StiWebViewer1.Visible = true ;
StiWebViewer1.Report = report ;
}
Данные в отчете есть, но почему то report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty возвращает true.
не подскажете, как правильно определить, есть ли данные в источнике?
у меня такая проблема: отчет в Web, данные берутся из MS SQL 2000.
пишу такой код:
Stimulsoft.Report.StiReport report = StiWebReport1.GetReport();
report.Compile();
if (report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty)
{
StiWebViewer1.Visible = false ;
}
else
{
StiWebViewer1.Visible = true ;
StiWebViewer1.Report = report ;
}
Данные в отчете есть, но почему то report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty возвращает true.
не подскажете, как правильно определить, есть ли данные в источнике?
Как определить - есть ли данные в источнике данных?
Здравствуйте.
Попробуйте, пожалуйста, изменить Ваш код следующим образом:
Спасибо.
Попробуйте, пожалуйста, изменить Ваш код следующим образом:
Код: Выделить всё
report.Compile();
(report.CompiledReport.DataSources["ИсточникДанных3"] as StiSqlSource).Connect();
Как определить - есть ли данные в источнике данных?
сделал так:
Stimulsoft.Report.StiReport report = StiWebReport1.GetReport();
report.Compile();
(report.CompiledReport.DataSources["ИсточникДанных3"] as Stimulsoft.Report.Dictionary.StiSqlSource).Connect();
if (report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty)
{
StiWebViewer1.Visible = false ;
}
else
{
StiWebViewer1.Report = report;
StiWebViewer1.Visible = true;
}
1. Не нашел типа StiSqlDataSource. нашел только StiSqlSource (если сделал неправильно, то подскажите пожалуйста, в каком namespace лежит StiSqlDataSource).
2. пробовал и так: if (report.CompiledReport.DataSources["ИсточникДанных3"] as Stimulsoft.Report.Dictionary.StiSqlSource).IsEmpty). все равно возвращает true.
Stimulsoft.Report.StiReport report = StiWebReport1.GetReport();
report.Compile();
(report.CompiledReport.DataSources["ИсточникДанных3"] as Stimulsoft.Report.Dictionary.StiSqlSource).Connect();
if (report.CompiledReport.DataSources["ИсточникДанных3"].IsEmpty)
{
StiWebViewer1.Visible = false ;
}
else
{
StiWebViewer1.Report = report;
StiWebViewer1.Visible = true;
}
1. Не нашел типа StiSqlDataSource. нашел только StiSqlSource (если сделал неправильно, то подскажите пожалуйста, в каком namespace лежит StiSqlDataSource).
2. пробовал и так: if (report.CompiledReport.DataSources["ИсточникДанных3"] as Stimulsoft.Report.Dictionary.StiSqlSource).IsEmpty). все равно возвращает true.
Как определить - есть ли данные в источнике данных?
оказывается все эти свойства (в том числе и IsEmpty) заполняются только после того, как происходит
StiWebViewer1.Report = report;
получается отчет запускается только после того, как он пристыковывается к вьюверу.
StiWebViewer1.Report = report;
получается отчет запускается только после того, как он пристыковывается к вьюверу.
Как определить - есть ли данные в источнике данных?
Здравствуйте,
Спасибо.
Так и есть если предварительно не запустить построение отчета при помощи метода Render:farit2002 писал(а): получается отчет запускается только после того, как он пристыковывается к вьюверу.
Код: Выделить всё
report.Render();
Как определить - есть ли данные в источнике данных?
Да, правильно Вы исправили, не StiSqlDataSource, а StiSqlSource.
Спасибо.
Спасибо.