Построение отчета при помощи кода

отредактировано 06:39 Раздел: FastReport 2.xx VCL
Увидел в доке пример «Построение отчета при помощи кода». Переделал на С++ Builder.

TfrPage* p;
TfrBandView* b;
TfrView* v;
TfrReport* r = new TfrReport(this);

r->Pages->Clear();
r->Pages->Add();
p = r->Pages->Pages[0];
b = (TfrBandView*)frCreateObject(gtBand, "");
b->SetBounds(0, 20, 0, 20);
b->BandType = btMasterData;
b->DataSet = "frDBDataSet1";
p->Objects->Add( ;) ;
v = frCreateObject(gtMemo, "");
v->SetBounds(20, 20, 200, 16);
v->Memo->Add("[qr.\"tp_nm\"]");
p->Objects->Add(v);
r->ShowReport();

Запускаю, а на экране пустой лист(запрос qr активен). Может знаете, что надо изменить? Спасибо.

Комментарии

  • отредактировано 06:39
    dimal написал:
    b->DataSet = "frDBDataSet1";
    Датасет с таким именем должен существовать на той же форме, к которой принадлежит TfrReport.
  • отредактировано 06:39
    AlexTZ написал:
    AlexTZ написал:
    b->DataSet = "frDBDataSet1";
    Датасет с таким именем должен существовать на той же форме, к которой принадлежит TfrReport.
    Добавил код:

    TfrDBDataSet* frDBDataSet1 = new TfrDBDataSet(this);
    frDBDataSet1->DataSet = qr;

    перед строкой
    TfrReport* r = new TfrReport(this);

    Все равно пустой лист. На форму компоненты FastReport я не устанавливаю.
  • отредактировано 06:39
    Тогда надо еще
    frDBDataSet1->Name = "frDBDataSet1";
  • отредактировано 06:39
    AlexTZ написал:
    Тогда надо еще
    frDBDataSet1->Name = "frDBDataSet1";
    Спасибо! Все заработало!

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

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