Рисунок в отчете
Рисунок в отчете
Здравстуйте. Пытаюсь прицепить к отчету рисунок. Делаю это через _report.Dictionary.Variables[varName].ValueObject = srcBmp; После чего пытаюсь скомпилить отчет и открыть его в превью. Когда рисунки маленькие, в пределах 1 МБ все в порядке. Когда же больше, то выскакивает такая ошибка: error CS1647: An expression is too long or complex to compile.
Рисунок в отчете
На самом деле рисунок должен быть не более 500 кб. Можно ли обойти это ограничение?
Рисунок в отчете
Дело в том, что все, что Вы добавляете в design-time, сериализуется в код. Класс отчета через некоторое время становится больше допустимого средой .Net размера, чтобы быть скомпилированным, и Вы получаете сообщение об ошибке.
В случае рисунков большого размера, используйте, пожалуйста загрузку этих изображений в runtime режиме.
Самый простой способ - это загрузить в BeforePrint событии бэнда или страницы необходимые Вам картинки:
Спасибо.
В случае рисунков большого размера, используйте, пожалуйста загрузку этих изображений в runtime режиме.
Самый простой способ - это загрузить в BeforePrint событии бэнда или страницы необходимые Вам картинки:
Код: Выделить всё
Image1.Image = Image.FromFile("Image1.gif");
или
Image1.Image = Stimulsoft.Base.Drawing.StiImageFromURL.LoadBitmap("http://www.domain.com/bitmap.gif");
или
до построения отчета загрузить картинку в переменную:
StiImage im = new StiImage();
im.Image = Image.FromFile("d:\\myImage.jpg");
report.Compile();
report["MyImage"] = im.Image;
Рисунок в отчете
пробовал использовать второй вариант. Ошибки не возникает, но рисунок не отображается. Может надо вызвать что то типа Invalidate?
Рисунок в отчете
Если у Вас это Web приложение, то попробуйте увеличить время ServerTimeOut у StiWebViewer.
Если Вы работаете с переменной, как указали в первом вопросе, то для скомпилированного отчета код должен выглядеть следующим образом:
Если и после этого проблема не ушла, высылайте тестовое приложение (с картинкой) на support[at]stimulsoft.com для анализа.
Спасибо.
Если Вы работаете с переменной, как указали в первом вопросе, то для скомпилированного отчета код должен выглядеть следующим образом:
Код: Выделить всё
_report[varName] = srcBmp;
Спасибо.
Рисунок в отчете
Выслал вам приложение. Но суть ведь ясна. Я на этапе дизайна создаю рисунок, располагаю его как мне хочется, а в каччестве источника данных отдаю ему переменную. Потом компилю отчет и пытаюсь этой переменной присвоить значение. Значение присваивается, никаких ошибок не выдается, но в превью отчета, этот рисунок не видно. С CompiledReport то же самое. Видел в мане пример с созданием компонента StiImage. Мне это не совсем подходит, хотелось бы разделить процесс дизайна и заполнение отчета данными. Заранее спасибо.
Рисунок в отчете
Вышлите, пожалуйста, также и шаблон отчета (mrt файл).
Спасибо.
Спасибо.
Рисунок в отчете
Выслал вам mrt файл отчета.
Рисунок в отчете
Измените, пожалуйста, Ваш код следующим образом:
Извините за неточный предыдущий ответ.
P.S. В последнем пререлиз билде добавлены очень полезные свойства для работы с картинками MinSize и MaxSize, которые ограничивают размеры выводимой картинки.
Дайте знать, если понадобится помощь.
Спасибо.
Код: Выделить всё
pc1.Report = Stimulsoft.Report.StiReport.GetReportFromAssembly("IMAGE.dll");
pc1.Report["iTest"] = Image.FromFile("im1.jpg");
pc1.Report.Render(false);
P.S. В последнем пререлиз билде добавлены очень полезные свойства для работы с картинками MinSize и MaxSize, которые ограничивают размеры выводимой картинки.
Дайте знать, если понадобится помощь.
Спасибо.