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

Загрузка данных для параметров в Silverlight WCF

Добавлено: 31 янв 2012, 11:10
Dmitriy
Здравствуйте.
При запросе данных у пользователя, не загружается список допустимых значений из базы.
Событие WCFPrepareRequestFromUserVariables реализовано, как в примере версии 2011.3

Загрузка данных для параметров в Silverlight WCF

Добавлено: 01 фев 2012, 09:53
Anton Lozovskiy
Здравствуйте,

Пришлите пример своего приложения, либо простой пример, на котором воспроизводится такая проблема для анализа.

Спасибо.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 03 фев 2012, 09:17
Dmitriy
Здравствуйте.
Высылаю пример, при запросе пользовательских параметров ComBox загружается пустым, источником данных является sql - соединение.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 06 фев 2012, 06:31
Anton Lozovskiy
Здравствуйте,

Проверили данную проблему на последней версии сборок и WCF исходников и проблемы не обнаружили.
Пожалуйста, проверьте последний пререлиз билд и последнюю версию WCF сервера (версия 1.7.1.0)
http://www.stimulsoft.com/Downloads/WCF ... es.WCF.zip


Спасибо.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 02 мар 2012, 09:00
Dmitriy
Здравствуйте.
Скачал последнюю версию сборок UL_2012.03.01 WCF и примеры к ним. Во Viewerе область для выбора пользовательских данных вообще не показывается.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 06 мар 2012, 05:50
Anton Lozovskiy
Здравствуйте,

Нашли недостаток в коде и исправили. Патч будет доступен 8 марта 2012.
Кстати вы используете устаревшую версию WCF, сейчас уже доступна версия 1.8.2.0.
Вот ссылка для скачивания: http://www.stimulsoft.com/Downloads/WCF ... es.WCF.zip

Спасибо.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 19 мар 2012, 04:37
Dmitriy
Здравствуйте,
Скачал последнюю версию сборок от 2012.03.09 и последнею версию WCF примеров.
Во Viewerе при выборе пользовательских данных combox загружается пустым.
Источник данных использую sql - соединение.
Проблема в методе

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

  private static StiReport DecodeXmlPrepareRequestFromUserVariables(string xml, System.Data.DataSet previewDataSet)
        {
            StiReport report = new StiReport();
            System.IO.StringReader stringReader = new System.IO.StringReader(StiSLEncodingHelper.DecodeGZipString(xml));
            XmlTextReader tr = new XmlTextReader(stringReader);

            tr.Read();
            if (tr.Name == "XmlResult")
            {
                while (tr.Read())
                {
                    if (tr.Name == "Report")
                    {
						report.LoadFromString(tr.ReadString()); 
						report.Dictionary.DataSources.Clear(); 
						report.Dictionary.Databases.Clear();
						report.Dictionary.DataStore.Clear();
                        if (previewDataSet != null) report.RegData(previewDataSet);
                        report.Dictionary.Synchronize();

                        try
                        {
                            report.Compile();
                        }
                        catch
                        {
                            tr = null;
                            stringReader.Dispose();
                            stringReader = null;
                            return report;
                        }

                        break;
                    }
                }
            }
Есть ли способ передать информацию о источнике данных с клиента, а не заполнение его на сервере

Загрузка данных для параметров в Silverlight WCF

Добавлено: 19 мар 2012, 11:38
Anton Lozovskiy
Здравствуйте,

А не могли бы вы подробнее описать какая именно у вас возникает проблема в данном методе.
И что вы имеете в виду "передать информацию о источнике данных с клиента, а не заполнение его на сервере" ?
Не совсем понятно что вы имеете в виду. Опишите пожалуйста более детально.

Спасибо.

Загрузка данных для параметров в Silverlight WCF

Добавлено: 19 мар 2012, 12:27
Dmitriy
Проблема в том что вы очищаете информацию источников данных

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

               
                        report.Dictionary.DataSources.Clear();
                        report.Dictionary.Databases.Clear();
                        report.Dictionary.DataStore.Clear();
и потом регистрируете данные из xml

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

                        report.RegData(previewDataSet);
                        report.Dictionary.Synchronize();
                       
а у меня sql - соединение и данные все указываются на клиенте, сервер не знает какое соединение с sql использовать и какой запрос там написан для каждого отчета
вот я и спрашиваю возможно ли что информация о источниках данных пришла с клиента.
Сейчас если посмотреть xml которая приходит с клиента то там информация о источниках данных пустая

Загрузка данных для параметров в Silverlight WCF

Добавлено: 20 мар 2012, 07:00
Anton Lozovskiy
Здравствуйте,

Внесли изменения в код. Теперь также будут передаваться все источники данных и вся нужная информация в xml. Но на серверной стороне вам надо будет самому убрать нужные методы
>>report.Dictionary.DataSources.Clear();
>>report.Dictionary.Databases.Clear();
>>report.Dictionary.DataStore.Clear();

чтобы настроить под себя работу сервера.
Изменения будут доступны в релизной версии в конце месяца. Мы сообщим на сайте, когда он будет доступен.

Спасибо.