Q&A

  • dbGrid에 checkbox를 올렸는데영 어캐 사용 할지 도통 No~
여기 검색 해서 보니깐 거의 dbGrid에서의 checkbox 는 죽음이다라고 써 있더군요.

--+

일단 제가 왜 디비그리드에다가 체크 박스를 올려야 하는지 그 진상부터 말하고 싶군요.

한 폼이 있는데.. 디비그리드가 있고 어떠한 내용을 보여 주고 있습니다.

이 목록중 선택을 해서 거기의 키값을 읽어 다른 폼에 전달 시켜 주어야 하거든요.

그래서 생각한것이 디비그리드에 체크 박스를 올리는 것 이었고

일단은 디비그리드에 체크 박스를 올리는 것 까지는 성공을 하였습니다.

그런데 올려 놓고 보니깐 이넘이 체크가 되어 있는지 상태를 파악 해야 하는데...

어캐 연관 시켜야 할지 도저히 모르겠슴다..

일단 올린 소스는



if DataCol = 1 then

begin

myCheck := TCheckBox.Create(Self) ;

myCheck.Left := dbgBalList.Left + Rect.Left - 20 ;

myCheck.Width := 15 ;

myCheck.top := dbgBalList.Top + rect.top + 2 ;

myCheck.Color := clHighlightText ;

myCheck.Parent := Self ;

myCheck.OnClick := CheckBoxClick

end ;

이고 적용 이벤트는 DrawColumnCell이고 물론 여기에서 얻은 소스임다..

멋있게 나오더군요.. ^^



그냥 체크 박스 붙히고 하니깐 넘 이상해서 디비그리드에서 ADD Field해서 빈 필드 하나 만든 다음 체크 박스를 그 위에다가 위치만 옮겨 놓았죠...(그 필드랑 체크 박스의

연계는 하나도 없음 구냥 보기 좋으라고..)



위와 같이 만들면 레코드 수만큼 생기지만 그 많은 체크 박스가 어떻게 해당 레코드와

연계를 만들수 있는지 좀 알려 주세요...

동적으로 만든것이라 OnClick := CheckBoxClick; //CheckBoxClick는 내가 만든거

을 이용해서 하고 있슴다.



procedure CheckBoxClick(sender : TObject);

begin

// 요넘의 안에다가 잘 넣으면 될것 도 같은데..

// 요기서 체크박스와 해당 레코드가 잘 연계가 안되네영

end;

0  COMMENTS