Страница 1 из 1

Сериализация/десериализация StiReport

Добавлено: 30 авг 2016, 16:49
SergeyFS
Добрый день.

Возникла потребность сериализации и десериализации объекта StiReport.

Подскажите, как использовать StiSerializing?

Наша сериализация (после StiReport.Render(false)):

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

string reportSer = null;
StiSerializing ser = new StiSerializing();               
using (var stream = new MemoryStream())
{
         ser.Serialize(report, stream, "Stimulsoft");
         stream.Position = 0;
         var sr = new StreamReader(stream);
         reportSer = sr.ReadToEnd();
}
в reportSer получим строку с сериализованным отчетом.

Десериализуем эту строку:
StiReport report = null;

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

using (var stream = GenerateStreamFromString(reportSer))
{
        ser.Deserialize(report, stream, "Stimulsoft");
}
В объекте report остается null ='-(

Подскажите как быть)

UPDATE

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

StiSerializing ser = new StiSerializing();                
                using (var stream = new MemoryStream())
                {
                    ser.Serialize(report, stream, "Stimulsoft");
                    stream.Position = 0;
                    ser.Deserialize(report, stream, "Stimulsoft");
                }
Падает на ser.Deserialize(report, stream, "Stimulsoft"); с ошибкой:
"StiBorderConverter не может выполнить преобразование из System.String."

В сериализованном отчете по поиску Border были только вхождения вида "<Border>Нет</Border>" и "<Border>Со всех сторон</Border>"
Что-то делаем неправильно?

Re: Сериализация/десериализация StiReport

Добавлено: 31 авг 2016, 09:06
HighAley
Здравствуйте.

У нас есть уже готовые методы для этого. Вы можете использовать метод SaveDocument(System.IO.Stream stream) для сохранения построенного отчёта и метод void Save(System.IO.Stream stream) для сохранения шаблона. Загружать их можно с помощью методов LoadDocument(System.IO.Stream stream) и Load(System.IO.Stream stream) соответственно.

Спасибо.

Re: Сериализация/десериализация StiReport

Добавлено: 31 авг 2016, 11:20
SergeyFS
Спасибо, помогло!)

Re: Сериализация/десериализация StiReport

Добавлено: 31 авг 2016, 13:59
HighAley
Здравствуйте.

Мы всегда рабы вам помочь.
Обращайтесь, если ещё надо будет помощь.

Спасибо.