오늘의 질문은 디비그리드 문제입니다.
자세한 저의 디비그리드현황을 말씀드리죠.
디비그리드 옵션중 dgAlwaysShowEditor를 True로 했습니다.
그리고 OnDrawColumnCell??에다 다음과 같이 코딩..
edit1.text := inttostr(datacol); //****
if ( State = [gdFocused] ) then
begin
edit2.text := inttostr(datacol);//%%%%
if datacol = 2 then
begin
xx := Rect.left;
......
end;
end;
이렇게 코딩을 했더니...
//****엔 원하는 값..//%%%%엔 값없음.
너무 답답해 다우의 뉴스그룹에 질문을 올렸더니 어떤분이
InplaceEdit에 대한 설명을 해주시더군요.
그리고 저의 'if ( State = [gdFocused] ) then..'문에 대해서도
의문을 표시하더군요. 문제발생요지가 있다라고.
if (gdFocused in State) then..하라구요.
그럼 질문합니다.
------------------------------------------
if ( State = [gdFocused] ) then 와
if (gdFocused in State) then..차이점?
그런데 저의 처음 코딩에 위의 두가지를 모두
응용을 해봤지만....동일한 현상입니다.
그래서 차이점을 모르겠군요.
---------------------------------
// 진짜 묻고자 하는 질문입니다.
그리고 제가 처음 의도했던 ....
dgAlwaysShowEditor를 True로 했을때
선택되어진 셀의 위치(Rect의 값)를 알아낼 방법은 없을까요?
회사아이디를 빌려쓴 조상윤입니다.
|