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
[50673] [고수님 알려주세요]DBGrid의 OnDrawCell 이벤트가 , OnDrawDataCell 인가요..호출되지않습니다.
구윤태 [] 1646 읽음    2007-09-28 15:45
- 질문 내용
디비에서 가져온 값을 TDBGrid 연결해서 값을 넣는데요..
ID 가 주민번호 일경우 , ID 뒷자리를 * 표시 할려구 합니다.


조대현님이 알려주신대로 했지만
OnDrawCell 이벤트가  제가 사용하는 C++Builder 5.0 에 없어서
OnDrawColumnCell , OnDrawDataCell  두개중에 OnDrawDataCell 이벤트를 사용했습니다

아래함수를 실행하지 않습니다.
TDBGrid 가, 로드되는 방식을 모르겠습니다.


TDBGrid
Name :DBGridPatients


1. 아래 이벤트 함수를 로드 하지 않습니다.
void __fastcall TForm1::DBGridPatientsDrawDataCell(TObject *Sender,  const TRect &Rect, TField *Field, TGridDrawState State)
{
   ShowMessage("TForm1::DBGridPatientsDrawDataCell");
    AnsiString asID;
   asID = Field->AsString;
   // 주민 번호 13자리 판단
   if(asID.Length() == 13){
        Field->AsString = asID.SubString(1, 6) + "*******";
   }

}

2.
DBGridPatients->Recordset->Field   //표시되지않습니다.







조대현.Clau 님이 쓰신 글 :
: [1] DBGrid의 OnDrawCell 이벤트에서 무식하게 강제로 바꿔버리세요.
:
: 1. 현재 그리려는 셀이 주민번호인지 판단하고 뒷자리를 *처리
: 2. 아마 이런 형식이 될것 같은데요.
: 3. Grid의 OnDrawCell에서 텍스트, 색상바꾸는 자료는 질답/팁게시판에 있습니다. 참고하세요.
:
: void __fastcall TForm9::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect,
:       TField *Field, TGridDrawState State)
: {
:     AnsiString asID;
:
:     asID = Field->AsString;
:     // 주민 번호 13자리 판단
:
:     if(asID.Length() == 13){
:         Field->AsString = asID.SubString(1, 6) + "*******";
:     }
:
:         // TextOut
:         TextOut(..................)
: }
:
: [2] 혹시 모르니 DBGrid->Recordset->Field쪽에 Mask속성을 살펴보세요. EditMask는 존재합니다.
:
: 구윤태 님이 쓰신 글 :
: : 질문 내용
: : 디비에서 가져온 값을 TDBGrid 연결해서 값을 넣는데요..
: : ID 가 주민번호 일경우 , ID 뒷자리를 * 표시 할려구 합니다.
: :
: : 그런데 디비에서 가져온 값을 분리해서 코드를 찾아서 변경하고 싶은데..
: : 연결부분들이 대부분 숨겨져 있어서 어떻게 처리 해야 되는지 방법을 모르겠습니다.
: :
: : TDBGrid 와 DB 연결부분을 수정할 수 있는지 알고 싶습니다.
: :
: :
: : 제가 초보인데다 , 남의 소스를 수정해야 하는데 질문이 엉성해서
: : 죄송합니다.
: :
: : 가능한지 좀 알고 싶습니다.
: :
: :
: :
: : cf)
: :
: : c++builder 에서 디비 쿼리 테스트하는 방법을 알고 싶습니다.

+ -

관련 글 리스트
50654 TDBGrid 사용중에.. 디비에서 가져온 값을 변경해서 TDBGrid 넣어 주고 싶습니다. 구윤태 1471 2007/09/27
50660     단순히 표시목적이라면 OnDrawDataCell등의 이벤트를 사용해 보세요. 조대현.Clau 1664 2007/09/28
50673         [고수님 알려주세요]DBGrid의 OnDrawCell 이벤트가 , OnDrawDataCell 인가요..호출되지않습니다. 구윤태 1646 2007/09/28
50674             실제 테스트(BDS2006 빌더)해보니 EditMask속성으로 해결됩니다. 조대현.Clau 1700 2007/09/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.