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

отредактировано 12:28 Раздел: 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 активен). Может знаете, что надо изменить? Спасибо.

Комментарии

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

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

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

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

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