Регистрация Nullable-типов в DataStore

Обсуждение Stimulsoft Reports.NET
Ответить
fulldiesel
Сообщения: 7
Зарегистрирован: 16 май 2013, 11:41

Регистрация Nullable-типов в DataStore

Сообщение fulldiesel »

Здравствуйте. После регистрации Nullable-типов в DataStore, можно обнаружить что в самом DataStore, в описании Columns типы уже будут не Nullable. В примере приведенном ниже свойство из long? в DataStore будет иметь тип long. Так и должно быть?

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

...

private StiReport _stiReport;

...

private void RegMethod()
{
    object data = new SomeClass {NullableLongProperty = 2};
    _stiReport.RegData("SomeName", data);
}

...

private class SomeClass
{
    public long? NullableLongProperty { get; set; }
}
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Регистрация Nullable-типов в DataStore

Сообщение HighAley »

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

Попробуйте использовать метод RegBusinessObject().

Спасмибо.
fulldiesel
Сообщения: 7
Зарегистрирован: 16 май 2013, 11:41

Re: Регистрация Nullable-типов в DataStore

Сообщение fulldiesel »

В этом случае коллекция Items в DataStore будет пустой =(
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Регистрация Nullable-типов в DataStore

Сообщение HighAley »

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

Тогда попробуйте после RegBusinessObject() вызвать _stiReport.Dictionary.SynchronizeBusinessObjects(3);?
Если это не поможет, то нам необходимо увидеть простой проект, который воспроизводит проблему.

Спасибо.
fulldiesel
Сообщения: 7
Зарегистрирован: 16 май 2013, 11:41

Re: Регистрация Nullable-типов в DataStore

Сообщение fulldiesel »

Спасибо, помогло. Все здорово, но только если списки двухуровневые (элементы списка содержат коллекции элементов другого типа), регистрация вложенных списков в словаре через код не происходит. В документации нашел только вариант с ручным созданием в дизайнере дочерних списков, а вот как это делается через код, так и не нашел. Помогите пожалуйста.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Регистрация Nullable-типов в DataStore

Сообщение HighAley »

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

Мы не можем ответить на ваш вопрос, так как не видем структуры ваших бизнес-объектов.
Какой вариант вы машли в документации?
Аргумент в методе SynchronizeBusinessObjects() задаёт глубину бизнес-объекта, возможно вам просто надо его увеличить.

Спасибо.
fulldiesel
Сообщения: 7
Зарегистрирован: 16 май 2013, 11:41

Re: Регистрация Nullable-типов в DataStore

Сообщение fulldiesel »

Спасибо, SynchronizeBusinessObjects с указанием глубины работает. Ранее пользовался без параметров, по причине того что думал что по дефолту уровень вложенности не ограничен. Не очень прозрачно получается =)

Спасибо еще раз за помощь!
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Регистрация Nullable-типов в DataStore

Сообщение HighAley »

Здравствуте.

Структура бизнес-объектов зачастую является очень сложной, поэтому мы принудительно ограничиваем вложенность, чтобы ускорить работу и избежать проблем с переполнением памяти.
Обращайтесь, если ещё возникнут вопросы.

Спасибо.
Ответить