Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Quick Report. HELP!!!

501
21 декабря 2004 года
hell_admin
110 / / 02.10.2004
Здрасте все, раньше задавал вопрос о печати таблицы из С++ Builder ответа не получил :((. Я вроде определился что буду печатать через QReport, только не как не могу создать многоколоночный отчет я ставлю число колонок в 4. QuckRep1->Page->Columns = 4;
И хочу добавить на каждуюю колонку по StringsBand'y но он почему то добавляет только в первую колонку, а я хотел заполнять Items у него (StringsBand'a) и что бы каждый из 4х печатал только свою колонку, через помещения на него QRExpr.
Попробывал подругому, поставил ForceNewColumn = true но тогда он
Во-первых печатает по 1й строке на каждой странице
Во-вторых пропускает неокторые строки из Items, я уже за%!ался с ним мутить.

Кто нибудь подскажите. Любой способ что бы распечатать таблицу произвольных значений. Буду ОЧЕЕЕНЬ признателен.
259
21 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by hell_admin
Здрасте все, раньше задавал вопрос о печати таблицы из С++ Builder ответа не получил :((. Я вроде определился что буду печатать через QReport, только не как не могу создать многоколоночный отчет я ставлю число колонок в 4. QuckRep1->Page->Columns = 4;
И хочу добавить на каждуюю колонку по StringsBand'y но он почему то добавляет только в первую колонку, а я хотел заполнять Items у него (StringsBand'a) и что бы каждый из 4х печатал только свою колонку, через помещения на него QRExpr.
Попробывал подругому, поставил ForceNewColumn = true но тогда он
Во-первых печатает по 1й строке на каждой странице
Во-вторых пропускает неокторые строки из Items, я уже за%!ался с ним мутить.

Кто нибудь подскажите. Любой способ что бы распечатать таблицу произвольных значений. Буду ОЧЕЕЕНЬ признателен.



Вот код проекта:

Код:
Unit1.h
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
#include <Buttons.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TStringGrid *StringGrid1;
    TButton *Button1;
    void __fastcall FormCreate(TObject *Sender);
    void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Unit1.cpp - основная форма имеет StringGrid  и кнопку Печать
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormCreate(TObject *Sender)
{
 for(int i = 1;i<StringGrid1->ColCount;i++)
 {
  for(int j=1;j<StringGrid1->RowCount;j++)
  {
   StringGrid1->Cells[j] = "Cell ["+AnsiString(i)+"]["+AnsiString(j)+"]";
  }
 }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
     QuickReport2->Preview();    
}
//---------------------------------------------------------------------------
Unit2.h
//----------------------------------------------------------------------------
#ifndef Unit2H
#define Unit2H
//----------------------------------------------------------------------------
#include <vcl\Classes.hpp>
#include <vcl\Controls.hpp>
#include <vcl\StdCtrls.hpp>
#include <vcl\Forms.hpp>
#include <vcl\QuickRpt.hpp>
#include <vcl\QRCtrls.hpp>
#include <ExtCtrls.hpp>
//----------------------------------------------------------------------------
class TQuickReport2 : public TQuickRep
{
__published:
    TQRBand *DetailBand1;
    TQRBand *ColumnHeaderBand1;
    TQRLabel *QRLabel1;
    TQRLabel *QRLabel2;
    TQRLabel *QRLabel3;
    TQRLabel *QRLabel4;
    TQRLabel *QRLabel5;
    TQRLabel *QRLabel6;
    TQRLabel *QRLabel7;
    TQRLabel *QRLabel8;
    TQRLabel *QRLabel9;
    TQRLabel *QRLabel10;
    void __fastcall QuickRepNeedData(TObject *Sender, bool &MoreData);
private:
public:
   __fastcall TQuickReport2::TQuickReport2(TComponent* Owner);
};
//----------------------------------------------------------------------------
extern TQuickReport2 *QuickReport2;
//----------------------------------------------------------------------------
#endif
Unit2.cpp - отчет QuickReport
//----------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop

#include "Unit2.h"
#include "Unit1.h"
//----------------------------------------------------------------------------
#pragma resource "*.dfm"
TQuickReport2 *QuickReport2;
int RowNum;
//----------------------------------------------------------------------------
__fastcall TQuickReport2::TQuickReport2(TComponent* Owner)
    : TQuickRep(Owner)
{
 RowNum = 0;
}
//----------------------------------------------------------------------------
void __fastcall TQuickReport2::QuickRepNeedData(TObject *Sender,
      bool &MoreData)
{
 if(RowNum >= Form1->StringGrid1->RowCount)
 {
           MoreData = false;
           return;
 }
  QRLabel6->Caption = Form1->StringGrid1->Cells[0][RowNum];
  QRLabel7->Caption = Form1->StringGrid1->Cells[1][RowNum];
  QRLabel8->Caption = Form1->StringGrid1->Cells[2][RowNum];
  QRLabel9->Caption = Form1->StringGrid1->Cells[3][RowNum];
  QRLabel10->Caption = Form1->StringGrid1->Cells[4][RowNum];
  RowNum++;
  MoreData = true;
}
//---------------------------------------------------------------------------
501
21 декабря 2004 года
hell_admin
110 / / 02.10.2004
ОГРООООМНОЕ спасибо я и не думал что все ТАК просто.:D
259
22 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by hell_admin
ОГРООООМНОЕ спасибо я и не думал что все ТАК просто.:D


ОГРООООМНОЕ пожалуйста. Всегда рад помочь тому, кто ищет ответы на вопросы.

8.7K
10 августа 2005 года
lamer-666
13 / / 29.01.2005
А вот у меня почему-то не получается. Вроде сделал всё точно так же, ан нет, не работает. Когда к предпросмотру перехожу, показывает "страница 1 из 0". Почему так?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог