Создать источник данных на основе переменных

Обсуждение Stimulsoft Reports.NET
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Создать источник данных на основе переменных

Сообщение Ингвар »

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

Re: Создать источник данных на основе переменных

Сообщение HighAley »

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

В событии "Начало построения" вы можете изменить DataSet на основе имеющихся данных.

Если же вы хотите использовать StiUserData, то можете использовать следующий код:

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

            StiUserData myUserData = new StiUserData();
            myUserData.Name = "MyData1";
            myUserData.GetData += new Stimulsoft.Report.Dictionary.StiUserGetDataEventHandler(myUserData_GetData);
            myUserData.Connect += new EventHandler(myUserData_Connect);
            // .... add columns ....
      StiDataColumn myColumn1 = new StiDataColumn("MyColumn1", typeof(int));
      myUserData.Columns.Add(myColumn1);

            StiReport report = new StiReport();
            report.Load(@"D:\MyTest1.mrt");
            report.RegData("MyData1", myUserData);
            report.Show();
Описание функций:

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

        void myUserData_Connect(object sender, EventArgs e)
        {
            myUserData.Count = 10000000;
        }

        private void myUserData_GetData(object sender, Stimulsoft.Report.Dictionary.StiUserGetDataEventArgs e)
        {
            if (e.ColumnName == "MyColumn1") e.Data = ......;
            if (e.ColumnName == "MyColumn2") e.Data = ......;
            if (your_condition)   //end of data. break rendering of this datasource
            {
                //emulate EOF
                myUserData.Count = e.UserSource.Position;
            }
        }
Спасибо.
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Re: Создать источник данных на основе переменных

Сообщение Ингвар »

А можно пример проекта такого отчета?
Например я в редакторе создаю источник UserSources, в нем две колонки, а затем в событии "Начало построения" набиваю их случайными датами. Можно вас попросить сделать пример такого отчета?
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Re: Создать источник данных на основе переменных

Сообщение Ингвар »

А можно еще например из одного источника данных, записать данные в User Sources?
Например в приложении проект - один источник данных и csv, можно их, например, переписать в MyDate?
Вложения
8.RAR
(2.09 КБ) 224 скачивания
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Создать источник данных на основе переменных

Сообщение HighAley »

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

Не могли бы вы изложить суть вашей проблему и мы постараемся подобрать наилучшее решение для неё.
Опишите, пожалуйста, где изначально находятся данные для отчёта.

Спасибо.
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Re: Создать источник данных на основе переменных

Сообщение Ингвар »

Суть проблемы такая - есть источник данных (в данном случае csv, но может быть и другой). Мне необходимо обработать все его данные по сложному алгоритму - с математическими вычислениями и обработкой времени. Штатным функционалом это сделать довольно сложно.
Вот я и хочу обработать данные в действии "начало построения", и записать сформированные данные в новый источник данных - UserSources, и его данные выводить на страницы отчета.
От вас мне нужен простой пример, который позволил бы в действии "Начало построения" переписать данные из одного источника (данные из csv) в другой (user sources).
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Создать источник данных на основе переменных

Сообщение HighAley »

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

Что вам мешает получить DataSet и зарегестрировать его в качестве источника данных?
UserSources создан для более сложных задач.

Спасибо.
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Re: Создать источник данных на основе переменных

Сообщение Ингвар »

Aleksey Andreyanov писал(а): Что вам мешает получить DataSet и зарегестрировать его в качестве источника данных?
А можно пример?
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Создать источник данных на основе переменных

Сообщение HighAley »

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

Создайте датасет в своём проекте, сделайте все необходимые действия, а потом зарегестрируйте его в отчёте.

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

DataSet data = new DataSet();
// ваши действия с данными
report.RegData(data);
Спасибо.
Ингвар
Сообщения: 169
Зарегистрирован: 17 июл 2012, 19:27

Re: Создать источник данных на основе переменных

Сообщение Ингвар »

А можно пример к моей задаче - есть источник данных "Данные из csv", их нужно считать и переписать в источник DataSet?
Ответить