Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
DbGrid에서 Row별로 색깔을 변경할수가 없나요?
DbGrid에서 Row별로 색깔을 변경할수가 없나요?
Column별로는 속성창을 변경시켜주거나, Color를 쓰면 되는데
그리드의 특정 한 칼럼의 값에 따라서 그 Row의 색깔을 변경하는
프로그램을 짜고 싶은데 방법이 없나요?
1
COMMENTS
김영대
•
1999.09.03 19:10
hohoant 께서 말씀하시기를...
> DbGrid에서 Row별로 색깔을 변경할수가 없나요?
> Column별로는 속성창을 변경시켜주거나, Color를 쓰면 되는데
> 그리드의 특정 한 칼럼의 값에 따라서 그 Row의 색깔을 변경하는
> 프로그램을 짜고 싶은데 방법이 없나요?
아래 예제를 참고해보세요(요구하시는 정답은 아니지만 비슷합니다)
그리고 이런 문제는 Delphi 관련 사이트의 Tip 란에서
DBGrid, Draw 찾아보시면 자료가 많이 나옵니다
질문하시기전에 찾아보시면 더 많은 정보를 얻을 수 있습니다
-----------------------------------------------------------------
TDBGrid의 OnDrawColumnCell을 이용하면 편리합니다.
몇가지만 응용하면 지정한 셀에 이미지를 그려 체크표시등도
가능합니다.
아래의 예제는 특정셀을 노란색바탕에 검은 글씨로 만듭니다.
State를 검사하는 이유는 현재 선택된 셀은 그려선 안되기
때문이지요.. 또한 Boolean값으로 저장되어 있는 컬럼들,
예를 들자면 성별같은 것들을 '남','여'로 표시할때도
이 Event를 사용하지요.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TDBGrid(Sender).Canvas do begin
if (Column.FieldName = 'FILEDNAME') and (State = []) then begin
Brush.Color := clYellow;
Font.Color := clBlack;
end
else begin
Brush.Color := clWindow;
Font.Color := clWindowText;
end;
if (gdFocused in State) or (gdSelected in State) then begin
Brush.Color := clHighlight;
Font.Color := clHighlightText;
end;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.AsString);
Brush.Style := bsSolid;
Brush.Color := clWindow;
end;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
조진희
1999.09.03 21:54
0
COMMENTS
/
0
LIKES
기쁜소식과 나쁜소식
노유승
•
1999.09.03 21:19
1
COMMENTS
/
0
LIKES
메뉴와 버튼등의 색상을 바꾸려면
김영대
•
1999.09.03 23:53
노유승 께서 말씀하시기를... > 제 Application을 Windows에서 지원하는 것이 아니라 고유의 색상을 가지...
Lyle
•
1999.09.03 21:17
2
COMMENTS
/
0
LIKES
unable to create process
안치봉
•
1999.09.03 21:56
잘은 모르겠으나... 그 파일에서 사용하는 DLL 이 없나 있나 보시고요. 있다면 그 DLL 을 찾지 못하...
Lyle
•
1999.09.03 22:54
안치봉 께서 말씀하시기를... > 잘은 모르겠으나... > > 그 파일에서 사용하는 DLL 이 없나 있나 보시...
이양규
1999.09.03 20:53
0
COMMENTS
/
0
LIKES
dbgrid에서 체크박스를...
임정선
•
1999.09.03 19:56
1
COMMENTS
/
0
LIKES
모니터 사이즈에 따른 제어
안치봉
•
1999.09.03 22:02
모니터사이즈라고 하시는게 정확한 mm, cm 같은걸 말씀하시는지 아니면 픽셀단이를 말씀하시는건지 모르겠...
한하눌
1999.09.03 19:20
0
COMMENTS
/
0
LIKES
멜프로그램을 open하면서 주소,제목,첨부 ..
리디아
1999.09.03 17:37
0
COMMENTS
/
0
LIKES
문자코드를 동시에 구현하려면??
한 재
1999.09.03 16:46
0
COMMENTS
/
0
LIKES
라디오 그룹에서 특정 인덱스 죽이기
김운식
•
1999.09.03 09:06
2
COMMENTS
/
0
LIKES
파라독스에서 입력 에러?????
이승현
•
1999.09.03 18:05
김운식 께서 말씀하시기를... > 안녕하세요.. > 델파이를 공부하는 학생입니다. > > 제가요.. > > ...
이승현
•
1999.09.03 18:08
빠트린것이 있네요. float형을 쓰지않고 integer로 쓸려면 long int 형을 쓰시면 됩니다. 대답이
jwchoi
•
1999.09.03 05:22
4
COMMENTS
/
0
LIKES
숫자금액을 한글금액으로 표시하려면...
김영대
•
1999.09.03 19:25
jwchoi 께서 말씀하시기를... > 안녕하십니까? > > 델파이 시작한지 얼마안된 초보입니다. > 숫자...
구창민
•
1999.09.03 06:57
jwchoi 께서 말씀하시기를... > 안녕하십니까? > > 델파이 시작한지 얼마안된 초보입니다. > 숫자...
늘초보
•
2001.11.16 03:01
억이 넘어 갈때.. 일억이 일억만이라고 나옵니다. 백억도 일백억만이라고..ㅠㅠ 님이 주신 함수 어떻게...
가을바람
•
2007.11.25 01:55
http://tong.nate.com/lhs0806/42023772
강성만
•
1999.09.03 05:06
1
COMMENTS
/
0
LIKES
WIN_NT4.0서버에있는 도메인명알기?
김영대
•
1999.09.03 19:29
강성만 께서 말씀하시기를... > 제목그대로 WIN_NT4.0에 등록된 도메인명을 알고싶거든요? > 델파이 또는...
델파이 초보
1999.09.03 03:38
0
COMMENTS
/
0
LIKES
시스템 메뉴가 생겨요!
황선희
•
1999.09.03 02:53
1
COMMENTS
/
0
LIKES
DBGrid에 있는 내용을 TXT 파일로 받을려면 어떻게 해야 하는지요?
김영대
•
1999.09.03 18:36
황선희 께서 말씀하시기를... > > DBGrid에 있는 내용을 TXT파일로 받을려면 어떻게 해야 하는지요? ...
이현신
1999.09.03 01:39
0
COMMENTS
/
0
LIKES
OutputDebugString 을 받을수잇는방법
김규돈
1999.09.03 01:38
0
COMMENTS
/
0
LIKES
델파이와 엑세스 DB와의 연결
hohoant
•
•
1999.09.03 01:23
1
COMMENTS
/
1
LIKES
DbGrid에서 Row별로 색깔을 변경할수가 없나요?
DbGrid에서 Row별로 색깔을 변경할수가 없나요? Column별로는 속성창을 변경시켜주거나, Color를 쓰면 되는데 그리드의 특정 한 칼럼의 값에 따라서 그 Row의 색깔을 변경하는 프로그램을 짜고 싶은데 방법이 없나요?
김영대
•
1999.09.03 19:10
hohoant 께서 말씀하시기를... > DbGrid에서 Row별로 색깔을 변경할수가 없나요? > Column별로는 속성창...
서희영
•
1999.09.03 00:53
1
COMMENTS
/
0
LIKES
활성되지 않은Form을 체크하는 법좀..
안치봉
•
1999.09.03 02:25
if Form2.Visible then if Form2.Focused then 서희영 께서 말씀하시기를... > 프로젝트 하나에 ...
이대선
•
1999.09.03 00:44
3
COMMENTS
/
0
LIKES
현재 커서가 아닌 edit의 가장 끝에 붙여넣기..
구창민
•
1999.09.03 04:46
이대선 께서 말씀하시기를... > edit의 가장 끝에 문자열을 추가 하려고 합니다. > > 많은 분들이 아래...
이대선
•
1999.09.03 05:58
구창민 께서 말씀하시기를... > 이대선 께서 말씀하시기를... > > edit의 가장 끝에 문자열을 추가 하려...
구창민
•
1999.09.03 06:55
음.. 말씀하신 내용을 보면 한글이 완성되었나 확인 하는 루틴이 먼저 여야 할거 같은데.. 아래 내용을 ...
한근수
•
1999.09.02 23:55
1
COMMENTS
/
0
LIKES
[긴급]MDI에서 Form끼리 자료참조
한근수
•
1999.09.03 00:22
저같은 실수 한 분을 위해서.. 저는 MDI에서 Form을 생성하려면 다음과 같이 생성합니다. uses Unit2...
정영호
1999.09.02 23:10
0
COMMENTS
/
0
LIKES
화면 Control 방법좀 알려 주세요..
hohoant
1999/09/03 01:23
Views
1458
Likes
1
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> DbGrid에서 Row별로 색깔을 변경할수가 없나요?
> Column별로는 속성창을 변경시켜주거나, Color를 쓰면 되는데
> 그리드의 특정 한 칼럼의 값에 따라서 그 Row의 색깔을 변경하는
> 프로그램을 짜고 싶은데 방법이 없나요?
아래 예제를 참고해보세요(요구하시는 정답은 아니지만 비슷합니다)
그리고 이런 문제는 Delphi 관련 사이트의 Tip 란에서
DBGrid, Draw 찾아보시면 자료가 많이 나옵니다
질문하시기전에 찾아보시면 더 많은 정보를 얻을 수 있습니다
-----------------------------------------------------------------
TDBGrid의 OnDrawColumnCell을 이용하면 편리합니다.
몇가지만 응용하면 지정한 셀에 이미지를 그려 체크표시등도
가능합니다.
아래의 예제는 특정셀을 노란색바탕에 검은 글씨로 만듭니다.
State를 검사하는 이유는 현재 선택된 셀은 그려선 안되기
때문이지요.. 또한 Boolean값으로 저장되어 있는 컬럼들,
예를 들자면 성별같은 것들을 '남','여'로 표시할때도
이 Event를 사용하지요.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TDBGrid(Sender).Canvas do begin
if (Column.FieldName = 'FILEDNAME') and (State = []) then begin
Brush.Color := clYellow;
Font.Color := clBlack;
end
else begin
Brush.Color := clWindow;
Font.Color := clWindowText;
end;
if (gdFocused in State) or (gdSelected in State) then begin
Brush.Color := clHighlight;
Font.Color := clHighlightText;
end;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.AsString);
Brush.Style := bsSolid;
Brush.Color := clWindow;
end;
end;