Q&A

  • 스트링그리드의 goEditing 문의합니다.
이제 델파이 시작한지 얼마되지 않아 속성을 프로그램에서 변경하기가 어렵네요

저는 스트링그리드에 데이터 내용을 뿌려주고
한 열에 대해서만 Edit가 되도록 하려고 합니다.

그래서 로직을 아래와 같이 짜보려 합니다.

procedure TFFList.strGridClick(Sender: TObject); //그리드 클릭했을 경우
begin
  if strGrid.Col=6 then //6번째 열에서
  begin
    //그리드 수정 가능
    strGrid.Options.goEditing:=true;
  end
  else
  begin
    //그리드 수정 불가능
    strGrid.Options.goEditing:=false;
  end;
end;
6번째 열에 관해서만 수정이 쓰기가 가능하게 할려고 합니다.
다른건 문제가 안되는데 strGrid.Options.goEditing:=false;  <==이부분이 에러 납니다.

그리드의 수정 모드를 변경하려면 어떻게 해야하나요?

또는 로직에 관련하여 좋은 구현 방법을 알려주시면 감사하겠습니다.

좋은 하루 되세요.



1  COMMENTS
  • Profile
    홍성락 2008.03.27 02:57
    goEditing는 TGridOptions의 집합체 요소라 별도 변수가 아닙니다
    strGridSelectCell에서 옵션에 goEditing만 넣었다 뺐다 해보세요
    옵션 내용은 프로퍼티창에서 복사하시구요.
    스트링그리드는 정말 좋고 재미있는 컴포넌트입니다.
    이거 잘만 사용하면 위에서 좋아해요....
    <!--CodeS-->
    procedure TFFList.strGridSelectCell(
      Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
    begin
        if (ARow > 0)and (Acol in [6])then
            TStringGrid(Sender).Options := [goFixedVertLine,goFixedHorzLine,goEditing]
        else
            TStringGrid(Sender).Options := [goFixedVertLine,goFixedHorzLine];
    end;
    <!--CodeE-->
    srhong//////////////////////////////////////////////////////////////