Страница 1 из 1
Как определить - есть ли данные в источнике данных?
Добавлено: 10 окт 2008, 11:46
farit2002
Здравствуйте.
у меня такая проблема: отчет в 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.
не подскажете, как правильно определить, есть ли данные в источнике?
Как определить - есть ли данные в источнике данных?
Добавлено: 10 окт 2008, 17:16
Edward
Здравствуйте.
Попробуйте, пожалуйста, изменить Ваш код следующим образом:
Код: Выделить всё
report.Compile();
(report.CompiledReport.DataSources["ИсточникДанных3"] as StiSqlSource).Connect();
Спасибо.
Как определить - есть ли данные в источнике данных?
Добавлено: 13 окт 2008, 06:00
farit2002
сделал так:
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.
Как определить - есть ли данные в источнике данных?
Добавлено: 13 окт 2008, 09:17
farit2002
оказывается все эти свойства (в том числе и IsEmpty) заполняются только после того, как происходит
StiWebViewer1.Report = report;
получается отчет запускается только после того, как он пристыковывается к вьюверу.
Как определить - есть ли данные в источнике данных?
Добавлено: 13 окт 2008, 13:14
Vital
Здравствуйте,
farit2002 писал(а):
получается отчет запускается только после того, как он пристыковывается к вьюверу.
Так и есть если предварительно не запустить построение отчета при помощи метода Render:
Спасибо.
Как определить - есть ли данные в источнике данных?
Добавлено: 13 окт 2008, 13:52
Edward
Да, правильно Вы исправили, не StiSqlDataSource, а StiSqlSource.
Спасибо.