Возможности дополнения компонентов отчета

Обсуждение Stimulsoft Reports.NET
vaa2
Сообщения: 6
Зарегистрирован: 05 сен 2010, 18:59

Возможности дополнения компонентов отчета

Сообщение vaa2 »

Вопрос к разработчикам такой, можно ли в вашем продукте создать собственный компонент, который можно будет класть на страницы отчета и настраивать стандартными средствами стимула, а при формировании отчета использовать свой код для рендеринга компонента на основе общих данных словаря отчета?


Конкретная задача - это компонент тематических карт. На основе данных отчета будет отрисовываться карта с различной окраской районов в соответствии с данными или расчетом новых значений из данных.


Если же компонент сделать в настоящее время нет возможности, то как можно включать сформированое изображение в отчет програмно? Можно пример подобной функциональности?
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Возможности дополнения компонентов отчета

Сообщение Aleksey »

Здравствуйте,

Данную задачу вы можете посмотреть, с примера кода, в нашей базе знаний:
http://stimulsoft.helpserve.com/index.p ... =316&nav=0


Спасибо.
vaa2
Сообщения: 6
Зарегистрирован: 05 сен 2010, 18:59

Возможности дополнения компонентов отчета

Сообщение vaa2 »

Aleksey писал(а):Здравствуйте,

Данную задачу вы можете посмотреть, с примера кода, в нашей базе знаний:
http://stimulsoft.helpserve.com/index.p ... =316&nav=0


Спасибо.
Спасибо за скорый ответ.

Примеры конечно замечательно, но есть ли нормальное описание подобной функциональности?
Все возможные интерфейсы и их методы/свойства...
Ну и подробное описание применения функциональности.
А то документация что идет в комплекте с установочным пакетом довольно "убогая" (не в обиду сказано - сам знаю насколько трудно программисту писать эти доки - "все ж и так ясно" (C):biggrin: как обычно говорят)
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Возможности дополнения компонентов отчета

Сообщение Aleksey »

Здравствуйте,

К сожалению, из-за не особой востребованности данного вопроса, на данную тему документации нет.
Так как продукт очень большой, мы просто не успеваем составлять документацию на все темы.

Если у вас возникают какие-либо вопросы, вы можете задавать их здесь.

Спасибо.
vaa2
Сообщения: 6
Зарегистрирован: 05 сен 2010, 18:59

Возможности дополнения компонентов отчета

Сообщение vaa2 »

Здравствуйте,

Я реализовал собственный компонент по вашим примерам.

Но почему то компонент рисуется только в "нормальном" режиме.
В экспорте и Html превью не рисуется.

Какие еще функции свойства нужно переопределить или добавить атрибуты?

И еще вопрос...
GdiPainter создается один раз на время жизни компонента отчета или каждый раз при отрисовке?...
Где лучше хранить и инициализировать собственные переменные которые генерируют данные для отрисовки в компоненте или в пэйнтере?
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Возможности дополнения компонентов отчета

Сообщение Aleksey »

Здравствуйте,
vaa2 писал(а):Но почему то компонент рисуется только в "нормальном" режиме.
В экспорте и Html превью не рисуется.
Какие еще функции свойства нужно переопределить или добавить атрибуты?
Вам необходимо реализовать метод GetImage().
vaa2 писал(а):GdiPainter создается один раз на время жизни компонента отчета или каждый раз при отрисовке?...
Поведение очень сложное, но по сути он создается один раз.
vaa2 писал(а):Где лучше хранить и инициализировать собственные переменные которые генерируют данные для отрисовки в компоненте или в пэйнтере?
Лучше хранить в компоненте.

Спасибо.
vaa2
Сообщения: 6
Зарегистрирован: 05 сен 2010, 18:59

Возможности дополнения компонентов отчета

Сообщение vaa2 »

Здравствуйте,

Спасибо за предыдущий совет - получилось.
Но еще один нюансик - в новой вкладке WebPreview не отрисовывается не только сам компонент, но и вообще вся страница...
Появляется надпись Loading images 100% и все на этом.
Пустая страница, а также страница с другими компонентами рисуется нормально.. Но стоит добавить мой компонент - все...
Мне пока это не критично, но для общего развития - какие методы свойства используются для вэб рендеринга компонентов если не Paint и GetImage?
А может это вообще баг...
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Возможности дополнения компонентов отчета

Сообщение Vladimir »

Здравствуйте,

Да, это баг. Мы постараемся исправить его в течении этой недели.

Спасибо.
vaa2
Сообщения: 6
Зарегистрирован: 05 сен 2010, 18:59

Возможности дополнения компонентов отчета

Сообщение vaa2 »

Здравствуйте,

Подскажите пожалуйста методику работы с данными в своем компоненте.

Какие классы и методы лучше использовать для этого.

Я реализовал свойства и интерфейсы DataSource, MasterComponent, Filters, Связь (сортировка не нужна).
Насколько я понял прямо сейчас не работают ни фильтры, ни детализация по мастер-компоненту.

И вообще я запрашиваю данные при отрисовке пэйнтером(получается каждый раз).
Как вы сами работаете с данными.
Заранее благодарю.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Возможности дополнения компонентов отчета

Сообщение Aleksey »

Здравствуйте,
vaa2 писал(а):И вообще я запрашиваю данные при отрисовке пэйнтером(получается каждый раз).
Данный метод неправильный. В этом случае получается очень большое число обращений к источнику данных.
Лучше всего получить данные в методе Render() один раз, и отрисовывать потом "пайнтером", т.е. они должны где-то быть сохранены.

Пример работы:

Код: Выделить всё

masterChart.First();
for (int posIndex = 0; posIndex < masterChart.Count; posIndex++)
{
     StiGetValueEventArgs ee = new StiGetValueEventArgs();
     ee.Value = "0";

     series.InvokeGetValue(masterChart, ee);
     double value = (double)StiReport.ChangeType(ee.Value, typeof(double));

     series.Values[posIndex] = value;
     masterChart.Next();
}
Спасибо.
Ответить