C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[52048] Re:DBGrid의 line마다 색깔 지정
정성훈.해미 [sage5nor] 2395 읽음    2008-01-24 17:08
안녕하세요.
정성훈.해미입니다.

DBGrid의 DrawColumnCell이벤트에 다음과 같이 해보세요.
확인한 건 아니라서 확실히 된다고 장담 못함......ㅋ

StringGrid에서 같은 구현을 사용했었는데 그리드라서 비슷할 것 같네요.
이벤트에 DataCol이 행 번호를 의미하는 인자입니다.
아마 오브젝트인스펙터에서 DefaultDrawing을 false로해야 동작할 꺼여욥.
즐프하셈~~

    if(DataCol==1)
    {
        ((TDBGrid*)Sender)->Canvas->Font->Color = clRed;
    }
    else if(DataCol==2)
    {
        ((TDBGrid*)Sender)->Canvas->Font->Color = clYellow;
    }

//----------------------------------------
//  ┏┓
//  ┣┻┓┏   ┃┃     작은 생각이 세상을 바꾼다
//  ┃♡┃┣   ┣┫┏┓
//  ┗━┛┗   ┃┃┣┫┏┓┏┓      - 정성훈.해미
//  ━━━━━━━━━┣┛┣┛┗┫━━━━━━
//  Web Site: http://www.hemistory.net
//  e-mail: sage5nor@chol.com
//----------------------------------------
미나 님이 쓰신 글 :
: 제목처럼 DBGrid 각각 행마다 글씨 색깔을 다르게 해주고싶습니다.
: QnA 검색 결과
: 델파이로 구현한 것은 있긴한데 제가 잘 모르겠더라구요
:
: 그 외에 특정 행을 마우스 클릭했을 때 그 행의 색깔을 바뀌게 해주는 소스는 찾았는데요
:
: 아래 소스
: ------------------------------------------------------------------------------------------
: DrawColumnCell 이벤트안에서 
:     if(Column->FieldName != "EMP_NAME")//"EMP_NAME"이외의 컬럼은 디폴트로 그리라는 의미.
:             return;                        //원하시는 컬럼의 이름을 기술하시면 됩니다.
:         Variant vFieldVal = Column->Field->Value;
:
:         if (State.Contains(Grids::gdSelected)) {//선택된 행
:             DBGrid3->Canvas->Brush->Color = clBlue;
:             DBGrid3->Canvas->FillRect(Rect);
:             DBGrid3->Canvas->Font->Color = clRed;
:         }
:         else {                                  //선택되지 않은 행
:             DBGrid3->Canvas->Brush->Color = clYellow;
:             DBGrid3->Canvas->FillRect(Rect);
:             DBGrid3->Canvas->Font->Color = clBlack;
:         }
:         DBGrid3->Canvas->TextOut(Rect.Left + 2, Rect.Top + 2, vFieldVal);
: -----------------------------------------------------------------------------------
: 제가 해주고싶은 것은
: 1행 글씨 색깔 - 빨강
: 2행 글씨 색깔 - 노랑
: 이런식으로 행마다 색깔을 고정시키고픈데..
: 각 '행'을 어떻게 지정해야할지 모르겠습니다.
:
: 검색결과
: Query->MoveBy(index)
: 를 이용하라는데 잘 안되네요..능력부족 ㅜ,ㅜ
:
: 도움 주시면 너무너무 감사드리겠습니다. *^^*

+ -

관련 글 리스트
52044 DBGrid의 line마다 색깔 지정 미나 1289 2008/01/24
52050     [냉무] 미나님 한미르 이메일 정리좀 하세요~ 답변달때마다 메일박스가 꽉찼다고 메일이 오네요.....ㅋ 정성훈.해미 2552 2008/01/24
52048     Re:DBGrid의 line마다 색깔 지정 정성훈.해미 2395 2008/01/24
52054         Re:Re:DataCol은 column의 갯수... 미나 1606 2008/01/25
52056             자답 미나 1247 2008/01/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.