Страница 1 из 1
Несколько источников данных
Добавлено: 25 авг 2016, 14:44
dominionish
Здравствуйте!
Мне нужно добавить в отчет несколько источников данных. SQL и JSON. Причем нужно сделать это следующим образом:
Если отчет открывается с сервера, то использовался SQl источник. Если отчет открывается в JS и ему передается JSON в качестве параметра, то использовать JSON данные. Атрибуты и там и там - одинаковые
Я так понимаю нужно как то объединить эти источники и сделать какой то один универсальный, чтобы его атрибуты указывать в таблице отчета.
Как это можно правильно реализовать в дизайнере?
Re: Несколько источников данных
Добавлено: 26 авг 2016, 10:19
HighAley
Здравствуйте.
Как вариант вы можете в отчёте настроить источники данных SQL. А, при открытии отчёта в JS, удалять SQL источники данных, и добавлять JSON источники с таким же именем.
Спасибо.
Re: Несколько источников данных
Добавлено: 26 авг 2016, 12:12
dominionish
Ну это значит что нужно при открытии отчета в JS что то с ним делать. Значит вносить изенения в код программы. Плохой вариант
А нет варианта чтобы добавить сразу 2 источника и Stimulsoft сам подгружал данные у того источника, у которого доступен ресурс. Если Sql - то sql. Если Sql недоступен, то значит из Json.
Re: Несколько источников данных
Добавлено: 26 авг 2016, 17:40
Aleksey
Здравствуйте,
Не могли вы описать задачу более подробно - как вы запускаете отчет на сервере (так же какой продукт используется?) и как в JS.
Как вариант, вы можете из кода почистить источники данных и добавить необходимый (SQL или JSON), главное чтобы имена самих таблиц и соединения совпадали. В данном варианте, не нужно создавать в отчете 2 типа соединений.
Спасибо.
Re: Несколько источников данных
Добавлено: 27 авг 2016, 07:23
dominionish
Aleksey писал(а):Здравствуйте,
Не могли вы описать задачу более подробно - как вы запускаете отчет на сервере (так же какой продукт используется?) и как в JS.
Как вариант, вы можете из кода почистить источники данных и добавить необходимый (SQL или JSON), главное чтобы имена самих таблиц и соединения совпадали. В данном варианте, не нужно создавать в отчете 2 типа соединений.
Спасибо.
Здравствуйте!
У нас есть отчеты, которые работают с SQL. Работают они на серверном приложении. Теперь появилась необходимость вывести эти отчеты на сайте. И мы пытаемся понять как малой кровью переделать отчет так, чтобы он смог работать на клиенте. Что я делаю и как - я описал в другой ветке, можно там посмотреть -
viewtopic.php?f=26&t=9091.
Насколько я знаю клиентский отчет не может работать с SQL, поэтому решили что нужно передавать JSON данные в том же формате и с теми же столбцами, что были в SQL соединении.
Как я понял из вышесказанного отчету неважен тип соединения, главное чтобы совпадали наименования источника данных и наименования столбцов. Подскажите тогда пожалуйста как можно добавить необходимый источник, предварительно почистив старый в JS?
Re: Несколько источников данных
Добавлено: 29 авг 2016, 13:50
Aleksey
Здравствуйте,
Вы можете использовать следующий код:
Код: Выделить всё
// Create a new report instance
var report = new Stimulsoft.Report.StiReport();
// Load report from url
report.loadFile("../reports/SimpleList.mrt");
// Create new DataSet object
var dataSet = new Stimulsoft.System.Data.DataSet("Demo");
// Load JSON data file from specified URL to the DataSet object
dataSet.readJsonFile("../reports/Demo.json");
// Remove all connections from the report template
report.dictionary.databases.clear();
// Register DataSet object
report.regData("Demo", "Demo", dataSet);
// Render report with registered data
report.render();
https://www.stimulsoft.com/en/samples/j ... t-template
Thank you.