Q&A

  • DBGrid에서 홀수열(레코드)만 특정색깔을 바꾸고싶습니다.
제목그대로입니다.

또는 짝수열만...

5  COMMENTS
  • Profile
    초보님 2001.07.23 20:03
    궁구미 wrote:

    > 제목그대로입니다.

    > 또는 짝수열만...



    for i := 1 to Query1.RecordCount do

    begin

    if (i mod 2) = 0 then

    begin

    색상

    end

    else begin

    색상

    end;

    end;



    이러면 될꺼 같은데....--;;;



  • Profile
    하기 2001.07.21 02:22
    DBGrid에 대해 검색을 해 보시면 DBGrid1DrawColumnCell Event에서

    특정레코드에 특정색깔을 주는 방법이 나와 있답니다.

    조건은 둘중에 하나를 쓰시면 될것 같군요...

    if Table.RecNo Mod 2 = 0 then

    begin

    // 짝수열 색상을 바꿔주자..(이부분은 검색해 보세요... ^^;)

    end else

    begin

    // 홀수열 색상을 바꿔주자..

    end;

    참고 하시는것이...







    궁구미 wrote:

    > 제목그대로입니다.

    > 또는 짝수열만...

  • Profile
    궁구미 2001.07.21 02:53
    하기 wrote:

    > DBGrid에 대해 검색을 해 보시면 DBGrid1DrawColumnCell Event에서

    > 특정레코드에 특정색깔을 주는 방법이 나와 있답니다.

    > 조건은 둘중에 하나를 쓰시면 될것 같군요...

    > if Table.RecNo Mod 2 = 0 then

    > begin

    > // 짝수열 색상을 바꿔주자..(이부분은 검색해 보세요... ^^;)

    > end else

    > begin

    > // 홀수열 색상을 바꿔주자..

    > end;

    > 참고 하시는것이...

    >

    >

    >

    > 궁구미 wrote:

    > > 제목그대로입니다.

    > > 또는 짝수열만...



    죄송합니다만 그렇게 했는데 아무런 변화가 없습니다..ㅠ.ㅠ



    if (qryDetail.RecNo mod 2) = 0 then begin

    (Sender as TDBGrid).canvas.brush.Color := clAqua;

    (Sender as TDBGrid).canvas.font.Color := clRed;

    (Sender as TDBGrid).canvas.FillRect(Rect);

    end else

    begin

    (sender as TDbGrid).DefaultDrawDataCell(Rect,Field,State);

    end;

    이렇게 코딩했구요....

  • Profile
    하기 2001.07.21 03:19
    DBGrid1DrawDataCell Event에 넣으신것 같군요... 그래도 색상은 바뀌는데...



    DBGrid1DrawColumnCell Event에 아래의 코딩을 넣어서 한번 실행해 보세요...



    if (qryDetail.RecNo mod 2) = 0 then

    begin

    TDBGrid(Sender).Canvas.Brush.Color := clAqua;

    TDBGrid(Sender).Canvas.Font.Color := clRed;

    end

    else

    begin

    TDBGrid(Sender).Canvas.Brush.Color := clWhite;

    TDBGrid(Sender).Canvas.Font.Color := clBlack;

    end;

    TDBGrid(Sender).Canvas.FillRect(Rect);

    TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);



    그럼... ^^;



  • Profile
    궁구미 2001.07.21 04:05
    하기 wrote:

    > DBGrid1DrawDataCell Event에 넣으신것 같군요... 그래도 색상은 바뀌는데...

    >

    > DBGrid1DrawColumnCell Event에 아래의 코딩을 넣어서 한번 실행해 보세요...

    >

    > if (qryDetail.RecNo mod 2) = 0 then

    > begin

    > TDBGrid(Sender).Canvas.Brush.Color := clAqua;

    > TDBGrid(Sender).Canvas.Font.Color := clRed;

    > end

    > else

    > begin

    > TDBGrid(Sender).Canvas.Brush.Color := clWhite;

    > TDBGrid(Sender).Canvas.Font.Color := clBlack;

    > end;

    > TDBGrid(Sender).Canvas.FillRect(Rect);

    > TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);

    >

    > 그럼... ^^;

    >



    하기님 정말 죄송해여..

    if (qryDetail.RecNo mod 2) = 0 then 이부분에 브레이크 포인트를 잡고 RecNo 값을보니

    계속 -1만 나옵니다..그래서 else부분으로 전부 넘어가 버립니다..ㅠ.ㅠ

    한번만 더 도움을 주십시요...초보라..ㅠ.ㅠ