Страница 1 из 1
Загрузка данных из JSON без переопределения структуры
Добавлено: 28 дек 2017, 16:34
Klogo
Добрый день.
Необходимо загружать данные из JSON в существующий DataSource, не изменяя структуры таблицы
Код: Выделить всё
DataSet dataSet = Stimulsoft.Base.StiJsonToDataSetConverter.GetDataSetFromFile("d:\\Demo.json");
report.RegData("JSON", dataSet);
Такой код вызывает "переопределение" структуры таблицы (загружает структуру из JSON)
Возможно ли загрузить данные без изменения таблицы?
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 28 дек 2017, 23:06
HighAley
Здравствуйте.
Мы переработали этот метод. Используйте, пожалуйста, Stimulsoft.Base.StiJsonToDataSetConverterV2.GetDataSetFromFile.
С наступающими Рождеством и Новым Годом.
Спасибо.
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 29 дек 2017, 11:37
Klogo
HighAley писал(а):
Мы переработали этот метод. Используйте, пожалуйста, Stimulsoft.Base.StiJsonToDataSetConverterV2.GetDataSetFromFile.
При использовании этого метода, добавляются новые таблицы. Такой же результат был и со старым методом.
- В рамке выделен результат работы метода Stimulsoft.Base.StiJsonToDataSetConverterV2.GetDataSet
- Screenshot_1.png (9.71 КБ) 4369 просмотров
Изначально я удалял старые таблицы и с помощью метода, получал таблицы со структурой из json. Но в json структура таблиц может быть отлична от той, что была в шаблоне. И к тому же типы столбцов в таких таблицах могут также оказаться другими.
Поэтому я ищу способ загрузить только данные в существующие таблицы. Возможно ли это?
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 29 дек 2017, 16:16
HighAley
Здравствуйте.
Для этого вам надо удалить имеющиеся источника данных и зарегестрировать новые.
Код должен выглядеть примерно так:
Код: Выделить всё
DataSet dataSet = Stimulsoft.Base.StiJsonToDataSetConverter.GetDataSetFromFile("d:\\Demo.json");
report.Dictionary.DataSources.Clear();
report.RegData("JSON", dataSet);
report.Dictionary.Synchronize();
Мы не видем реальной ситуации, возможно также надо будет очистить Databases.
Спасибо.
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 29 дек 2017, 16:26
Klogo
Если делать report.Dictionary.DataSources.Clear();
то это просто удалит все таблицы. DataSources. А нужно чтобы эти сорсы остались и в них появились данные из json.
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 29 дек 2017, 16:28
Klogo
Как вариант, я попробовал загружать json в DataTable каждого DataSource, но пока ничего не получилось. Я не знаю можно ли вообще так сделать
Re: Загрузка данных из JSON без переопределения структуры
Добавлено: 02 янв 2018, 16:01
HighAley
Здравствуйте.
Если структура отлична от данных, и эти данные используются в отчёте, то будет ошибка при построении.
Структура источников данных восстановиться после вызова Synchronize().
Возможно вам просто надо изменить путь с JSON файлу?
Код: Выделить всё
(report.Dictionary.Databases[0] as Stimulsoft.Report.Dictionary.StiJsonDatabase).PathData = newPath;
Спасибо.