Программная работа с отчетом

отредактировано 15:31 Раздел: FastReport .NET
При регистрации данных следующим способом:
FastReport.Report r1 = new FastReport.Report();
r1.RegisterData(DataSet, "Table");
(DataSet открывается динамически до открытия отчета)
в отчете в бэнде "Данные" выходит только одна первая строчка из DataSet - сбивается DataSource бэнда.
как этого избежать или программно его установить ?

Комментарии

  • отредактировано 15:31
    Здравствуйте,

    Скорее всего, при регистрации указано неверное имя. Надо смотреть файл отчета (.frx):
    <Report ...>
      <Dictionary>
        <TableDataSource ... ReferenceName="..." ...>
    
    Допустим, в файле указано ReferenceName="MyTable". Чтобы правильно связать регистрируемый источник данных, надо указать это имя в вызове RegisterData, например так:

    r1.RegisterData(DataSet.Tables[0], "MyTable");

    Когда регистрируется датасет целиком, указанное имя используется как префикс. Допустим, в датасете есть таблицы Customers, Orders. Регистрируем датасет:

    r1.RegisterData(DataSet, "Data");

    получаем таблицы с ReferenceName -
    Data.Customers
    Data.Orders
  • отредактировано 15:31
    Задать источник данных у бэнда можно программно:

    (Report.FindObject("Data1") as DataBand).DataSource = Report.GetDataSource("MyTable");
  • отредактировано 15:31
    Спасибо, помог второй вариант

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

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