Q&A

  • 퀵리포트에서 가로 순서대로 나타내기
안녕하세요...

다름이 아니라 퀵리포트에서 Query한 결과를 가로 순으로 DetailBand에 나타내게

하고 싶어서요...



QuickRep 컴포넌트를 더블클릭해서 나타나는 설정화면에서 Number of Columns 를

5로 수정하고 미리보기를 하면 다음과 같이 나타납니다.

(여기서 숫자는 select 했을때 Row 순입니다.

-----------------------------------------------------------

1 6 11 16



2 7 12 17



3 8 13



4 9 14



5 10 15

-----------------------------------------------------------



이것을 다음 순서로 나타내고 싶거든요.



-----------------------------------------------------------

1 2 3 4 5



6 7 8 9 10



11 12 13 14 15



16 17

-----------------------------------------------------------



고수님들의 조언 기다리겠습니다... 그럼 즐코딩 하세요...

2  COMMENTS
  • Profile
    이재식 1999.12.22 12:11
    Paddy wrote:

    > 안녕하세요...

    > 다름이 아니라 퀵리포트에서 Query한 결과를 가로 순으로 DetailBand에 나타내게

    > 하고 싶어서요...

    >

    > QuickRep 컴포넌트를 더블클릭해서 나타나는 설정화면에서 Number of Columns 를

    > 5로 수정하고 미리보기를 하면 다음과 같이 나타납니다.

    > (여기서 숫자는 select 했을때 Row 순입니다.

    > -----------------------------------------------------------

    > 1 6 11 16

    >

    > 2 7 12 17

    >

    > 3 8 13

    >

    > 4 9 14

    >

    > 5 10 15

    > -----------------------------------------------------------

    >

    > 이것을 다음 순서로 나타내고 싶거든요.

    >

    > -----------------------------------------------------------

    > 1 2 3 4 5

    >

    > 6 7 8 9 10

    >

    > 11 12 13 14 15

    >

    > 16 17

    > -----------------------------------------------------------

    >

    > 고수님들의 조언 기다리겠습니다... 그럼 즐코딩 하세요...



    이재식 Wrote :

    안녕하십니까?



    Column개수를 5로 하든 2로 하든 그 경우는

    귀하께서 말씀하신 대로 그런식으로 출력이 될 것입니다.



    즉, 귀하께서 원하시는대로 출력을 하시려고 하면,

    사람마다 틀리겠지만, 제 경우에서는

    비교적 쉬운(?)방법은 onNeedData이벤트를 쓰는 것이죠.

    이 이벤트를 이용해서 출력하는 것을 한번 해보세요.



  • Profile
    Paddy 1999.12.22 20:38
    onNeedData Event를 한번도 사용해 보지 않은 관계로 사용법을 좀 가르쳐주셨으면

    합니다...



    저는 보통 Quick Report를 사용할때 다음과 같이 사용합니다.



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    QuickRep1.DataSet := Qry; // Qry : Query Component

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    with Qry do begin

    Close;

    Sql.Clear;

    Sql.Add('select a, b from table);

    Open;

    if RecordCount > 0 then

    QuickRep1.Preview;

    end;

    end;



    procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);

    begin

    QRLabel1.Caption := Qry.FieldByName('a').AsString;

    QRLabel2.Caption := Qry.FieldByName('b').AsString;

    end;





    주로 이런 형태로 사용하거든요... 그런데 OnNeedData Event는 한번도 사용해 본적이

    없어서요... 부탁합니다.