Страница 1 из 2
Интерактивные отчеты
Добавлено: 23 мар 2011, 11:13
plotyan
Из информации, расположенной на сайте не совсем понятно, поддерживает SL версия генератора интерактивные отчеты. Поясню.
Во первых, есть две версии генератора отчетов для SL - требующая ASP.NET сервера и самостоятельная. В первом случае генератор представляет собой элемент управления ASP.NET, а чем фактически является второй вариант? Элементом управления SL?
Во вторых, какого рода интерактив доступен в обеих версиях генератора для SL? Могу ли я написать произвольную реакцию на события генератора? Каким образом можно передать данные во внешнее SL приложение, являющееся хостом для просмотрщика отчетов (сценарий - по клику на строку отчета с позицией заказа открывается карточка товара для редактирования)?
Спасибо.
Интерактивные отчеты
Добавлено: 23 мар 2011, 11:43
Anton Lozovskiy
Здравствуйте,
Из информации, расположенной на сайте не совсем понятно, поддерживает SL версия генератора интерактивные отчеты. Поясню.
Во первых, есть две версии генератора отчетов для SL - требующая ASP.NET сервера и самостоятельная. В первом случае генератор представляет собой элемент управления ASP.NET, а чем фактически является второй вариант? Элементом управления SL?
Первый является элемент управления ASP.NET, Вы правильно поняли. Для его работы необходимы сборки Stimulsoft.Report.Base и Stimulsoft.Report.Report из .Net версии.
Второй(native), это чистый Silverlight проект, который рендерит отчет с помощью парсера. К сожалению он ограничен по возможностям. На данный момент интерактивные отчеты работают только для Client/Server версии.
После релиза, в конце этого месяца, будем пытаться подключать работу интерактивных отчетов и для native версии.
Во вторых, какого рода интерактив доступен в обеих версиях генератора для SL? Могу ли я написать произвольную реакцию на события генератора? Каким образом можно передать данные во внешнее SL приложение, являющееся хостом для просмотрщика отчетов (сценарий - по клику на строку отчета с позицией заказа открывается карточка товара для редактирования)?
В Client/Server версии доступна полноценная интерактивность отчетов, которые поддерживает Stimulsoft.Report.Net. Смотрите примеры в Demo (доступно на сайте).
Если возникнут трудности, пишите, постараемся Вам помочь.
Спасибо.
Интерактивные отчеты
Добавлено: 23 мар 2011, 11:54
plotyan
Спасибо за быстрый ответ.
Anton писал(а):
...
Второй(native), это чистый Silverlight проект, который рендерит отчет с помощью парсера.
...
Что такое "чистый Silverlight проект"? Его можно встроить в другое SL приложение?
Интерактивные отчеты
Добавлено: 24 мар 2011, 04:07
Anton Lozovskiy
Здравствуйте,
plotyan писал(а):Что такое "чистый Silverlight проект"? Его можно встроить в другое SL приложение?
Да. StiSLDesignerControl и StiSLViewerControl являются Silverlight контролами. Вы можете подключать их в свои приложения.
Спасибо.
Интерактивные отчеты
Добавлено: 24 мар 2011, 08:48
plotyan
Anton писал(а):
StiSLDesignerControl и StiSLViewerControl являются Silverlight контролами. Вы можете подключать их в свои приложения.
Прекрасно. Скачал и установил пробную версию. Потыкался в примеры, но с наскоку решить свою задачу не смог.
Есть SL приложение. В нем необходимо отобразить отчет. При клике по определенному элементу в отчете приложение должно выполнять произвольные действия (показывать дочерние окна, открывать вкладки и т.п.). Можно ли сделать такое с помощью вашего генератора отчетов? Редакция в данном случае не важна - SL, SL Client/Server или может быть даже Web.
Интерактивные отчеты
Добавлено: 24 мар 2011, 09:35
Anton Lozovskiy
Здравствуйте,
plotyan писал(а):Есть SL приложение. В нем необходимо отобразить отчет. При клике по определенному элементу в отчете приложение должно выполнять произвольные действия (показывать дочерние окна, открывать вкладки и т.п.). Можно ли сделать такое с помощью вашего генератора отчетов? Редакция в данном случае не важна - SL, SL Client/Server или может быть даже Web.
Мы изменили и подключили событие ClickComponent, которое будет срабатывать при нажатии на любой компонент во вьювере. В аргументе события передается ссылка на нажатый StiComponent. Обработав его, вы можете выполнять нужные действия.
Изменения будет доступны в релизной версии в конце этого месяца.
Спасибо.
Интерактивные отчеты
Добавлено: 24 мар 2011, 09:59
plotyan
Anton писал(а):
Мы изменили и подключили событие ClickComponent, которое будет срабатывать при нажатии на любой компонент во вьювере. В аргументе события передается ссылка на нажатый StiComponent. Обработав его, вы можете выполнять нужные действия.
Изменения будет доступны в релизной версии в конце этого месяца.
Отлично.
В соседней ветке
Jan пишет о том, что можно использовать отчеты в "чистом" SL как классы, предварительно их скомпилировав или используя интерпретацию. Будут ли в этом случае работать события?
UPD: эксперименты показывают что работают только события, относящиеся к рендерингу. Т.е., насколько я понимаю, API версии генератора отчетов для SL было оставлено максимально совместимым с основной версией, но многие вещи просто еще не реализованы, и к ним относятся, в частности, события компонентов отчета?
Интерактивные отчеты
Добавлено: 24 мар 2011, 10:34
Anton Lozovskiy
Здравствуйте,
Да. Если сохранить как класс то будут. Если возникнут трудности, пишите.
Спасибо.
Интерактивные отчеты
Добавлено: 24 мар 2011, 11:07
plotyan
Anton писал(а):
Да. Если сохранить как класс то будут.
Использую пример Work_with_Components из набора для native SL. Сохраняю отчет для SL, добавляю в проект, в конструкторе класса подписываюсь на событие text1.Click, отображаю отчет:
Код: Выделить всё
public Report()
{
this.InitializeComponent();
this.Text1.GetValue += new Stimulsoft.Report.Events.StiGetValueEventHandler(this.Text1_GetValue);
this.Text1.Click += new EventHandler(Text1_Click);
}
public void Text1_Click(object sender, EventArgs e)
{
}
public void Text1_GetValue(object sender, Stimulsoft.Report.Events.StiGetValueEventArgs e)
{
e.Value = "test";
}
[...]
viewer.Report = null;
StiReports.Report rep = new StiReports.Report();
rep.Render();
viewer.Visibility = System.Windows.Visibility.Visible;
viewer.Report = rep;
Событие GetValue отрабатывает, событие Click нет. Я так понимаю, в настоящее время реализованы только события, относящиеся к рендерингу и пост про изменение события Click был именно об этом?
Интерактивные отчеты
Добавлено: 25 мар 2011, 04:44
Anton Lozovskiy
Здравствуйте,
Поправили эту проблему, изменения будут доступны в релизной версии в ближайшие дни.
Пишите, если появятся еще проблемы, будем исправлять.
Спасибо.