Программная подмена данных

отредактировано 09:36 Раздел: FastReport .NET
Привет всем!!! Собственно задача следующая: есть готовый отчет в котором две таблицы, между которыми создана связь (Master-details). Также созданы два Бэнда, которые выводять данные из этих таблиц (получается некое дерево или группы с данными). При запуске отчета из дизайнера все работает на ура.
Далее, я беру этот отчет, и запускаю программно на стороне серверной части моего приложения.
На сервере я собираю данные в DataSet'ы с теми же именами, что и таблицы в файле отчета.
Далее я регистрирую эти датасеты в отчете, после чего, я так понимаю, слетают связи у таблиц.
Пример запуска ниже:

tableList - это List<DataTable>

tableList.ForEach(r =>
{
if (r.DataSet == null)
{
DataSet d = new DataSet(r.TableName);
d.Tables.Add®;
pReport.RegisterData(r.DataSet);
}
else
pReport.RegisterData(r.DataSet);
});

// Далее экспорт
if (pReport.Prepare())
{
using (var fStream = new MemoryStream())
{
pReport.Export(new PDFExport(), fStream);
result = fStream.ToArray();
}
}

Сбор данных из самого FastReport необходимо исключить в силу специфики реализации серверной части приложения.
Есть ли варианты не регистрации, а подмены данных таблиц в отчете, чтобы связь Master-details сохранялась!????

Комментарии

  • отредактировано 09:36
    А программно вы пробовали установить связь
    System.Data.DataSet dsMain = new System.Data.DataSet();
    adCars = new iAnywhere.Data.AsaClient.AsaDataAdapter();
    adCars.SelectCommand = comCars;
    adCars.Fill(dsMain, "Cars");

    adOrders = new iAnywhere.Data.AsaClient.AsaDataAdapter();
    adOrders.SelectCommand = comOrders;
    adOrders.Fill(dsMain, "Orders");

    DataRelation myDataRelation;
    myDataRelation = new DataRelation("CarsOrd", dsMain.Tables["Cars"].Columns["id"], dsMain.Tables["Orders"].Columns["car_send_id"]);

    dsMain.Relations.Add(myDataRelation);

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.