IT/Delphi

DBGrid에 체크박스 넣는 법

fraha 2021. 1. 7. 17:12
반응형

디비그리드에 체크박스를 넣고 싶어서 찾아 봤다.

 

http://blog.devquest.co.kr/imp/877

 

DBGrid에서 체크박스로 멀티셀렉트 하기

저 개인적으로는 그리드 컴포넌트로는 서드파티인 DevExpress의 cxGrid를 주로 사용하기 때문에, 간단한 로직 검증 테스트 목적 외에는 TDBGrid를 잘 사용하지 않습니다. 하지만 제가 지원하는 여러 사

blog.devquest.co.kr

박지훈 임프가 작성한 소스다.  

 

이 소스는 새로운 필드를 만들지 않아도 돼서 좋다.

 

기존 DB그리드를 상속받아 체크박스를 만들기 때문에 따로 컴포넌트를 등록 할 필요도 없고 소스파일이 있는 폴더에 

 

CheckDBGrid.pas 를 복사해 넣고 아래 사진과 같이 사용하고 싶은 소스의 uses절에 넣어주기만 하면 된다. 

 

 

환경은 Delphi7 이다.

 

 

그리고 당연히 DBGrid의 옵션에서 dgMultiSelect(멀티셀렉트)를 True로 해 주어야 한다.  

 

그러면 사진처럼 나온다.

 

 

그냥 쓰기엔 나에게 조금 안 맞는 부분이 있어 수정 해 봤다.

 

수정한 내용은

 

1. 디비그리드 별로 체크박스를 선택적으로 넣을 수 있게 했다.

 

2. 전체선택과 부분선택(icbGrayed), 전체해제가 있었는데 전체선택에서 하나라도 선택해제가 되면

   전체해제가 되게 했다.

 

3. ROW가 하나만 있어도 전체해제가 되게 했다.

 

 

수정내용 1을 반영하면 아래 사진처럼 하나의 폼에 체크박스를 디비그리드별로 넣고 뺄 수 있다.

 

 

내가 수정한 소스

checkdbgrid.pas
0.01MB

 

 

반응형