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

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 08 авг 2014, 11:04
HighAley
Здравствуйте.

Можно в ваш текст добавить больше конкретики?
На подобные общие фразы трудно дать какой-то конкретный ответ.
Неудобство только в том, что в шаблоне датасет нужно создавать вручную, потому как это делается отдельным приложением и создать из кода нет возможности.
Особенно интересует эта фраза. Можно привести пример кода, проект, чтобы увидеть как это всё реально работает. Вы вызываете метод report.Dictionary.Synchronize(); после регистрации данных?

Спасибо.

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 11 авг 2014, 14:32
fantomus
С кодом все хорошо, работает прекрасно.
Показывать даже нечего.
Суть в том, что что клиентское приложение, которму нужен отчет, не содержит кода по его формированию.
Серверное приложение генерирует отчет и отдает клиентскому (через веб-сервис).
Третье приложение - "дизайнер". Дизайнит отчеты и сохраняет в БД.

Так вот, что бы получить отчет с использованием Датасета нужно выполнить следующие действия:
- определить Датасет на клиенте
- описать (повторить) структуру Датасета в "Дизайнере" вручную (!)
- собственно, запросить через сервис новый отчет

Я имел в виду, что в интерфейсе дизайнера отчетов было бы неплохо иметь возможность загрузить Датасет из xml-файла, который очень легко сформировать на клиенте одной строчкой кода.

Как то так...

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 11 авг 2014, 14:37
fantomus
В дизайнере это форма "Новый источник данных".
Если при выборе адаптера данных "Данные из DataSet, DataTables" в открывшемся далее окне добавить кнопку "Загрузить из файла...", получилось бы как раз то...

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 11 авг 2014, 17:31
fantomus
Или добавить новый адаптер по аналогии с адаптером "Данные из CSV files", типа "Данные из DataSet (XML-файл)".

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 12 авг 2014, 13:01
HighAley
Здравствуйте.

А что вам мешает создать новое соединение к XML данным? Там достаточно указать XSD схему и в действиях словаря выбрать пункт Синхронизировать, чтобы загрузить структуру в дизайнер.

Спасибо.

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 12 авг 2014, 15:15
fantomus
Действительно, не обратил внимания на такую возможность.
Попробовал, но пока не выходит.
Делаю так:
1. Создаю xml+xsd файлы для Датасета с именем "data"
2. В дизайнере создаю новое соединение к XML данным из этих файлов
3. Пытаюсь формировать отчет:
stiReport1.RegData("data", myDataSet);
stiReport1.Dictionary.Synchronize();
stiReport1.Show();

В результате в отчете данные из xml файла. Если xml файл не использовать (только схему), то отчет пустой.
То есть, данные из Датасета в отчет в таком случае не попадают.
Как правильно?

Re: Как преобразовать параметр в бизнес-объект

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

Для того, что бы прояснить, что происходит с отчётом, достаточно вызвать метод Design().
Скорее всего там будет два источника данных. И зарегистрированный вами будет называться data2.

Попробуйте перед регистрацией датасета вставить следующую строку:

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

stiReport1..Dictionary.Databases.Clear();
Thank you.

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 13 авг 2014, 18:36
fantomus
Спасибо!
Заработало.
Design() я конечно делал и источник не дублируется :)
Что мне тоже поначалу показалось странным.
Я думал, что разные типы источников несовместимы.
Оказывается, еще как совместимы :)

Re: Как преобразовать параметр в бизнес-объект

Добавлено: 14 авг 2014, 17:53
HighAley
Здравствуйте.

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

Спасибо.