Q&A

  • quickreport에서 특정 레코드수 마다....
수고 많습니다.



dbgrid 에서 보여지는 것 들을 quick report로 출력하는데요,



비슷한 레코드들이 상당히 많고(심지어는 10페이지 정도 되는것도 있슴),



그래서 구별을 주려고 하는데요, 예들들어 5 레코드 마다 점선을 그려



준다든지 하는 것이요...



onneeddata 를 쓰면 된다는데 잘 모르겠습니다.



혹시 방법을 알고 계시는 분 도와주세요....



언제 쯤 나도 답변을 해 줄 수 있을지... 헐

1  COMMENTS
  • Profile
    이재식 2000.01.18 01:32
    최재원 wrote:

    > 수고 많습니다.

    >

    > dbgrid 에서 보여지는 것 들을 quick report로 출력하는데요,

    >

    > 비슷한 레코드들이 상당히 많고(심지어는 10페이지 정도 되는것도 있슴),

    >

    > 그래서 구별을 주려고 하는데요, 예들들어 5 레코드 마다 점선을 그려

    >

    > 준다든지 하는 것이요...

    >

    > onneeddata 를 쓰면 된다는데 잘 모르겠습니다.

    >

    > 혹시 방법을 알고 계시는 분 도와주세요....

    >

    > 언제 쯤 나도 답변을 해 줄 수 있을지... 헐





    이재식 Wrote :

    안녕하십니까?



    우리가 대개 선을 제어하기위해서 onNeed이벤트를 쓰는데요,

    사실 이 이벤트를 쓰지 않고도 얼마든지 선을 제어할수 있습니다.

    onNeed이벤트를 쓰면 사용자 정의 형식의 레포트 폼을 만들 수 있지만,

    대신 프로그래머의 희생(?)이 필요합니다.

    그래서, 이 이벤트는 특별한 경우를 제외하고는 가급적 DataSet을 세팅해서

    프로그램하는것이 훨씬 쉽습니다.



    그럼, 선제어는 어떻게 하는가?

    사람마다 여러가지 방법이 있겠죠.

    저는 그중 간단(?)한 방법 하나 말씀드리겠습니다.

    일단 질문에 대해서만 답변을 하겠습니다.

    먼저 Private에 integer변수로 count를 선언하세요.

    count : integer ;

    그리고 퀵레포트의 Before이벤트에 count := 1 ;이라고 하세요.



    DetailBand의 Before이벤트에

    이런식의 코딩을 하세요.

    if count = 5 then

    begin

    선이름.점선 := true ; // 가상코드

    count := 1 ;

    end

    else

    begin

    선이름.점선 := false ; // 가상코드

    count := count + 1 ;

    end ;



    그런데, 선에 점선을 줄수있는 방법이 있는지 제가 직접 확인을 안해서

    이렇게 가상코드로 표현했습니다.

    혹 없다면 키보드에 있는 '-' 나 '='을 쓸 수 있습니다.한

    한개의 RLabel을 DetailBand에 올려놓으시되 선을 그리고 싶은 곳에

    올려놓으세요.

    그런다음 while 나 for문을 돌려서 선을 만들면 되겠죠.



    이런식으로 하시면 선이 나올것입니다.